【发布时间】:2016-10-25 16:55:31
【问题描述】:
使用 $token #1 提交表单时,令牌匹配,但使用 $token #2 提交时,令牌不匹配,获取“redir” 我有点困惑为什么会发生这种情况,不知道我在这里做错了什么
<?php
session_start();
if(isset($_SESSION['token'])){
if ($_POST['token'] == $_SESSION['token']) {
echo "login ";
}
else
{
echo "redir " ;
}
}
// 1st test
// $token = time();
// 2nd test
$token = md5(time().$_SERVER['REMOTE_ADDR']);
$_SESSION['token'] = $token;
?>
<form action="" method="post">
<input type="hidden" name="token" value=" <?php echo $token ?> ">
<input type="text" name="usr">
<input type="text" name="pass">
<input type="submit" name="submit" value="send">
</form>
</body>
</html>
【问题讨论】:
-
旁注:只要确保
1)和2)都不是你真实代码的一部分;是吗? -
不,他们不是
-
好的,我稍微修改了一下;那么请看下面的答案。