sql >> Databasteknik >  >> RDS >> Mysql

Förhindra utnyttjande av bakåtknappen? PHP

Du måste kontrollera om det finns minst en identifierande funktion hos användaren och kontrollera om de har skickat in en poäng innan du skickar formuläret. Det finns olika sätt du kan göra detta på, var och en med sina egna svagheter, så det är bäst att blanda och matcha, men några ovanliga inkluderar:

  • Kontrollera att en person med samma IP- och användaragentsträng inte har skickat ett toppresultat under de senaste x minuterna (även om detta kan förhindra att vissa legitima poäng skickas - tänk en skola/kontor som använder samma webbläsare och har samma IP)

  • Lägga en spårningscookie vid ankomst med ett identifierande användar-id. Kontrollera sedan att användar-ID inte har skickat en poäng under de senaste x minuterna. (t.ex. starta en PHP-session om du vill)

  • Lägga till en cookie i webbläsaren efter att poängen har skickats in och sedan kontrollera efter denna cookie innan formuläret serveras (ja, det kan enkelt lösas genom att ta bort cookien). Alternativt kan du ställa in ett värde i sessionen)




  1. RegEx med preg_match för att hitta och ersätta en LIKNANDE sträng

  2. MySQL - Välja data från flera tabeller alla med samma struktur men olika data

  3. Förstå Big Data Analytics

  4. Hur skapar jag en ForeignKey-relation i SQLAlchemy över två olika .py-filer?