In mijn PHP pagina roep ik als je op een link klikt het script aan welke het gekozen record verwijderd. In de URL staat dat iets als verwijderen.php?id=2
Als een gebruiker nu handmatig een 3 vult dan wordt deze zonder meer verwijderd.
Hoe kan ik de voorkomen? Eigenlijk wil ik helemaal niet dat je in de URL kan zien dat je verwijder.php aanroept laat staan welk id.
Je kan een hidden form field erbij zetten en dan een link waarmee je met JavaScript aangeeft dat die het form moet submitten. Zet die form op POST en je kan er niet meer bij vanaf de URL. En dan ook ff de URL controleren waarvandaan het verstuurd is...
Een andere manier is elke record een code meegeven op het moment van aanmaken, bijv met md5 (time ()).
Die code geef je ook mee in de delete-link. De kans dat iemand de goede code zelf invult is praktisch nul.
edit: als je deze methode toepast, dan het liefst achter een login systeem. Als mensen met hun eigen gegevens werken, zullen ze er niet op uit zijn in het wilde weg records te gaan wissen.
@Robert: Javascript kun je uitzetten en alle gegevens in een formulier, ook hidden fields (!), zijn door de gebruiker te wijzigen.
Zet het id in een sessie en je bent al weer een stap verder. De oplossing van Jan ziet er ook goed uit, 9 van de 10 keer heb je toch al een datum/tijd in het record staan.