| 

.NET C# Java Javascript Exception

0

Möchte man innerhalb einer HTML-Seite Parameter und Werte in Form von Hidden Fields ablegen, um diese in einem nachfolgenden Schritt bei der Auswertung einer HTML-Form wieder zur Verfügung zu haben, muss man sicherstellen, dass die Werte auf dem Weg zurück in den Webserver nicht absichtlich oder unabsichtlich verändert wurden.

Mithilfe eines lediglich im eigenen Programm bekannten geheimen Werts und des MD5-Algorithmus lässt sich sehr einfach ein so genannter Hash-Wert ermitteln, der zusätzlich zu den ursprünglichen Werten als Hidden Field in die HTML-Seite gesetzt wird:

$geheimnis = "isagsnet";
$musssobleiben = "darf nicht geändert.werden";
$md5hash = md5($geheimnis.$musssobleiben);
print <<<__END__
<input.type="hidden" name="so" value="$musssobleiben">
<input.type="hidden" name="hash" value= "$md5hash">
__END__

Wenn die Werte als Form-Parameter später wieder in einem PHP-Skript landen, muss lediglich der mitgelieferte MD5-Hash mit dem nochmals berechneten Wert verglichen werden. Stimmen beide überein, dann kann man sehr sicher sein, dass die gelieferten Werte auch den Originalen entsprechen:

$geheimnis = "isagsnet";
 if( md5($geheimnis.$_REQUEST["so"]) == $_REQUEST["hash"])
{
// alle ok; weiter.geht’s
}
else
{
die("Daten wurden manipuliert");
}

In die Berechnung des Hash-Werts können natürlich beliebig viele nicht veränderliche Parameter mit aufgenommen werden.

web php
Schreibe einen Kommentar:
Themen:
php web
Entweder einloggen... ...oder ohne Wartezeit registrieren
Benutzername
Passwort
Passwort wiederholen
E-Mail