要检查http://phpsec.org/projects/guide/2.html,以便提供更安全的反馈表单。凭借我非常有限的技能,想出了类似的东西:
假设有form.php(表单)和form-processing.php(用于发送它的脚本)。 在form.php的开头:
<?php
session_start();
$token = md5(uniqid(rand(), true));
$_SESSION['token'] = $token;
...并且在表单的开头本身将令牌回显到隐藏字段:
<form method="POST">
<input type="hidden" name="token" value="<?php echo $token; ?>" />
在form-processing.php的开头:
<?php
session_start();
if (isset($_SESSION['token']) && $_POST['token'] == $_SESSION['token'])
{
}
else {
die( "Invalid token" );
}
这会安全地完成工作吗?