Token 中文翻译为令牌,一般用来防止表单重复提交,csrf
跨站请求伪造。 保证web安全。 Token原理: 服务端会先创建一个Token,保存在session
中,客户端中添加<input type="hidden" name="token" value="<?php $_SESSION['token']?>"/>
,提交表单时,服务端会获取token
的值,如果值和session
设置的值不同,表明重复提交或者为csrf
攻击。
例子
<?phpsession_start();function setToken() { $_SESSION['token'] = md5(microtime());}function validToken() { $return = ($_REQUEST['token'] === $_SESSION['token'] ? true : false); setToken(); return $return;}if(!isset($_SESSION['token']) || $_SESSION['token'] == '') { setToken();}if(isset($_POST['text'])) { if(validToken()) { echo time(); } else { echo 'error'; }}?><html><body> <form action="" method="post"> <input type="hidden" name="token" value="<?php $_SESSION['token']?>"/> <input type="text" name="text" value="val"/> <input type="submit" value="submit"/> </form></body></html>新闻热点
疑难解答
图片精选