Wenn du die Ip in der Datenbank speichert und dann nochmal beim Formular prüfst kannst du die Werte ja vergleichen ob der Eintrag überhaupt vorhanden ist.. Durch Zufall genau den gleichen md5 Ip Wert zu erraten wäre ein Witz oder fast schier unmöglich
PHP-Code:
<?php
$ip = md5($_SERVER['REMOTE_ADDR']);
mysql_query("SELECT Benutzername FROM user WHERE ip = '".$ip."'") or die (mysql_error());
$output = mysql_fetch_assoc($sql);
$Benutzername = $output['Benutzername'];
if($Benutzername == '')
{
// Funktion was passiert wenn der Benutzername anhand der Ip adresse nicht gefunden werden kann !Manipulationsverdacht?
}
else
{
//Eigentlich Funktion
}
?>
// edit
Ja das funktioniert aber eben auch halt wenn man das in der action_form verwendet und nicht im html formular .. Ist halt weil das vms immer <form action="" nimmt und keinen genauen pfad..
// edit 2
hab hier auch mal einen Beitrag gefunden zwecks Manipulation .. Hier auch ganz klar der Punkt warum es besser ist bei Sicherheitsabfragen in Form feldern einfach Werte mit der Datenbank abzugleichen da das absichert das selbst wenn manipuliert wird er einfach nicht drum rum kommt den orginalen Wert zu nehmen da sonst eine einfache If Abfrage ihn ins Nirvana schießt..
allein Weil die Form lokal gespeichert und verändert werden kann und dann wenn sie aufgerufen wird mit den eigenen Werten verändert wird .. Hier auch beschrieben mit der Login form wo man die maxlenght entfernt oder ähnliche Spielereien ..
http://www.cgisecurity.com/owasp/html/ch11s04.html