Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Zurück-Button-Exploits verhindern? PHP

Sie müssen nach mindestens einem Identifizierungsmerkmal des Benutzers suchen und überprüfen, ob er eine Punktzahl übermittelt hat, bevor Sie das Formular ausfüllen. Es gibt verschiedene Möglichkeiten, wie Sie dies tun können, jede mit ihren eigenen Schwächen, also ist es am besten, sie zu mischen und anzupassen, aber einige aus dem Kopf sind:

  • Überprüfen, ob eine Person mit derselben IP und User-Agent-Zeichenfolge in den letzten x Minuten keinen Highscore eingereicht hat (obwohl dies verhindern kann, dass einige legitime Ergebnisse eingereicht werden - denken Sie an eine Schule / ein Büro, die denselben Browser und dieselbe IP verwenden)

  • Setzen eines Tracking-Cookies bei der Ankunft mit einer identifizierenden Benutzer-ID. Überprüfen Sie dann, ob die Benutzer-ID in den letzten x Minuten keine Punktzahl eingereicht hat. (Starten Sie z. B. eine PHP-Sitzung, wenn Sie möchten)

  • Hinzufügen eines Cookies zum Browser nach dem Absenden der Punktzahl, dann Suchen nach diesem Cookie, bevor das Formular bereitgestellt wird (ja, es kann leicht umgangen werden, indem das Cookie gelöscht wird). Alternativ können Sie einen Wert in der Sitzung festlegen)