作者:陈业贵 华为云享专家 51cto(专家博主 明日之星 TOP红人) 阿里云专家博主

文章目录


mt_rand(10,100)的意思是有一个10到100之间的随机数字(包括10和100)
time()当前时间的秒数

cyg.php

<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form action="cyg.php" method="POST">

<?php $module=mt_rand(100000,999999);?>

<input type="text" name="sec_name" value=""/>

<input type="hidden" name="module" value="<?php echo $module;?>"/>//随机数字(100000---->999999)

<input type="hidden" name="timestamp" value="<?php echo time();?>"/>//时间戳。就是说当前时间的秒数

<input type="hidden" name="token" value="<?php echo md5($module.'#$@%!^*'.time());?>"/>//通过md5+'#$@%!^*'+time(当前时间的秒数)全部进行md5加密就是token了

</form>
</body>
</html>
<?php

$module = $_POST['module'];

$timestamp = $_POST['timestamp'];

$token = md5($module.'#$@%!^*'.$timestamp);//和表单上面的一样的运算呢

if($token != $_POST['token']){//如果不一样就匹配不成功了,else否则成功

echo('非法数据来源');

exit();

}
echo "token匹配成功啦";


?>

效果

php生成一个token_php