17.14 Sich gegen Formular-Spoofing schützen

Problem

Sie brauchen die Sicherheit, dass eine Formularübermittlung gültig und beabsichtigt ist.

Lösung

Nutzen Sie ein verborgenes Formularfeld mit einem eindeutigen Token und speichern Sie dieses Token in der Session des Benutzers:

<?php
session_start();
$_SESSION['token'] = md5(uniqid(mt_rand(), true));
?>
<form action="buy.php" method="POST">
<input type="hidden" name="token" value="<?php echo $_SESSION['token']; ?>" />
<p>Stock Symbol: <input type="text" name="symbol" /></p>
<p>Quantity: <input type="text" name="quantity" /></p>
<p><input type="submit" value="Buy Stocks" /></p>
</form>

Prüfen Sie dann, wenn Sie eine Anfrage erhalten, die eine Formularübermittlung darstellt, ob die Token übereinstimmen: ...

Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.