php生成一个token
原创
©著作权归作者所有:来自51CTO博客作者陈业贵的博客的原创作品,请联系作者获取转载授权,否则将追究法律责任
作者:陈业贵 华为云享专家 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匹配成功啦";
?>
效果