assicurarsi che non si usino form esterne

ave,

ho un piccolo dubbio sulla validità di una form.

può accadere che form esterne facciano riferimento ai miei script (basta guardare il codice html e leggere l'attributo action delle form).

avete idea di come potrei ovviare a questo problema? è veramente un problema?

grazie

inviato 8 anni fa
larchitetto
X 0 X

Si, potrebbe essere un problema, dipende dai dati che tratta il tuo form.

Una delle possibile soluzioni può essere l'utilizzo di una sessione che viene valorizzata all'atto della visualizzazione del form e quando il form viene inviato, verrà controllato se il valore della sessione c'è ancora.

Ovviamente il valore della sessione deve essere opportunamente calcolato in modo che il timeout di 15minuti che hanno le sessioni non permetta a qualche malintenzionato di bypassare il sistema di controllo.

:bye:

risposto 8 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

potrei anche memorizzare nella sessione il pathname dello script che visualizza la form? o quali altri valori dovrei dare?

Ovviamente il valore della sessione deve essere opportunamente calcolato in modo che il timeout di 15minuti che hanno le sessioni non permetta a qualche malintenzionato di bypassare il sistema di controllo.

:bye:

questo non l'ho ben capito =D

grazie

risposto 8 anni fa
larchitetto
X 0 X
potrei anche memorizzare nella sessione il pathname dello script che visualizza la form? o quali altri valori dovrei dare?

con il pathname dello script non credo che tu possa farci nulla, magari potresti controllare il referer ma anche quello è aggirabile

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

Puoi anche immettere nella action del form un valore che identifichi il tuo sito, ad esempio l'md5 del tuo host da confrontarlo sul tuo server quando il form viene spedito.

In ogni caso se il forum di cui parli è un sistema per invio di email la cosa più semplice è controllare che l'eventuale campo "email" contenga una e una sola email e non una serie di indirizzi legati da virgole.

Basta già questo per bloccare i bot, per non parlare di captcha testuali ben studiati.

risposto 8 anni fa
Marco Grazia
X 0 X

beh non chiedo indirizzi email da usare, eccetto quando si effettua la registrazione... solitamente, in base all'operazione è probabile che partano delle email automatiche...

Basta già questo per bloccare i bot, per non parlare di captcha testuali ben studiati.

cosa sono di preciso?

infine, come mi posso difendere? =D

grazie

risposto 8 anni fa
larchitetto
X 0 X

Cos'è un captcha? Una domanda per verificare se sei umano o una macchina, banale ma è la verità si basa sul test di Turing.

Il Completely, Automated, Public, Turing test to tell, Computers and Humans Apart. ovvero: "Test di Turing pubblico e completamente automatico per distinguere computer e umani" non è altro che quel numerino che appare in fondo a qualsiasi form di inserimento dati, e che va riportato in una textbox prima di inviare il form.

Normalmente quel numerino serve a identificare un operatore umano in quanto nessuna macchina potrebbe (ma è meglio dire dovrebbe) superarlo facendo sì che arrivato a quel punto un bot (programma automatico che legge il Web alla ricerca di informazioni e sulla base di queste compie azioni preprogrammate) si fermi.

Programmi di lettura delle immagini inventati ben prima del Web fanno sì che questi bot oramai possano leggere le immaginette che vengono usate per il captcha.

Infatti stanno prendendo piede i captcha "furbi", ovvero sistemi nati prima per utenti non vedenti ma che ora si stanno rivelando validi proprio contro gli spambot.

Uno semplice ma efficace ad esempio è quello di riportare un numero scritto a caratteri in cifre, ad esemio numeri abbastanza complessi come che so: ventitremilacinquecentottantasette da tradurre in: 23587, difficilino per un bot.

Programmini che fanno questo ce ne sono diversi in giro per la rete, io ne ho pure scritto uno funzionante e prima o poi ne farò un cerotto da applicare a voi :)

risposto 8 anni fa
Marco Grazia
modificato 8 anni fa
X 0 X

ah ok: recepito... non conoscevo i termini tecnici ma bene o male conoscevo un po' tutta la problematica...

risposto 8 anni fa
larchitetto
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda