Mysql
 sql >> Database >  >> RDS >> Mysql

Prevenire gli exploit del pulsante Indietro? PHP

È necessario verificare almeno una caratteristica identificativa dell'utente e verificare se ha inviato un punteggio prima di servire il modulo. Ci sono vari modi per farlo, ognuno con i propri punti deboli, quindi è meglio mescolare e abbinare, tuttavia alcuni dei miei pensieri includono:

  • Verifica che una persona con lo stesso IP e la stessa stringa user-agent non abbia inviato un punteggio negli ultimi x minuti (sebbene ciò possa impedire l'invio di alcuni punteggi legittimi - pensa a una scuola/ufficio che utilizza lo stesso browser e lo stesso IP)

  • Inserimento di un cookie di tracciamento all'arrivo con un ID utente identificativo. Quindi verifica che l'ID utente non abbia inviato un punteggio negli ultimi x minuti. (ad es. avviare una sessione PHP se lo si desidera)

  • Aggiunta di un cookie al browser dopo l'invio del punteggio, quindi verifica della presenza di questo cookie prima di servire il modulo (sì, può essere facilmente aggirato eliminando il cookie). In alternativa potresti impostare un valore nella sessione)