PHP使用Token

来源:互联网 发布:红包软件代理加盟 编辑:程序博客网 时间:2024/05/23 00:04

什么是Token

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>
0 0
原创粉丝点击