PHP中Token的简单使用和验证实例
PHP简单Token使用与验证实例:首先,我们需要生成一个随机的Token,可以使用`bin2hex(random_bytes(32))`方法。然后,将Token存储在数据库中,并将其与用户关联。当用户登录时,检查提交的Token是否与数据库中的Token匹配。如果匹配,说明Token有效,允许用户登录;如果不匹配,说明Token无效,拒绝登录请求。为了提高安全性,可以设置Token的有效期,例如1小时。在有效期内,用户可以多次使用相同的Token进行登录。
一、token功能简述
PHP 使用token验证可有效的防止非法来源数据提交访问,增加数据操作的安全性
二、实现方法:
前台form表单:
<formaction="do.php"method="POST"><?php$module=mt_rand(100000,999999);?><inputtype="text"name="sec_name"value=""/><inputtype="hidden"name="module"value="<?phpecho$module;?>"/><inputtype="hidden"name="timestamp"value="<?phpechotime();?>"/><inputtype="hidden"name="token"value="<?phpechomd5($module.'#$@%!^*'.time());?>"/></form>
后台do.php的token验证部分:
<?php$module=$_POST['module'];$timestamp=$_POST['timestamp'];$token=md5($module.'#$@%!^*'.$timestamp);if($token!=$_POST['token']){echo('非法数据来源');exit();}$sec_name=$_POST['sec_name'];//PHP数据处理.....?>
PHP简单Token使用与验证其他说明
如果是搭建API直接以URL形式访问获取所需数据时,需将后台$_post修改为$_GET获取数据
构造URL为:do.php?module=×tamp=&token=&sec_name=