php hash防止表单

Posted brady-wang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php hash防止表单相关的知识,希望对你有一定的参考价值。

<?php

/**
 * Created by PhpStorm.
 * User: brady
 * Desc:
 * Date: 2017/7/12
 * Time: 15:01
 */
class test extends MY_Controller
{
    public function __construct()
    {
        parent::__construct();
    }

    public function index()
    {
        //防csrf攻击
        $hash = md5(uniqid(rand(), TRUE));
        set_cookie("__hash__", $hash, 3600, get_public_domain());
        $this->_viewData[‘__hash__‘] = $hash;
        parent::index();
    }

    public function do_submit()
    {
        $data = $this->input->post();
        if(empty($data[‘__hash__‘])){
            echo "hacker";
        }
        echo $cookie_hash = get_cookie(‘__hash__‘);

        if($cookie_hash === $data[‘__hash__‘]) {
            echo "验证通过";
            delete_cookie("__hash__",get_public_domain());
            dump($_COOKIE);
        } else {
            echo "hacker";
        }

    }
}

  

以上是关于php hash防止表单的主要内容,如果未能解决你的问题,请参考以下文章

HTML代码片段

HTML代码片段

php通过记录IP来防止表单重复提交方法分析

一致性哈希算法PHP测试片段

php 如何防止表单重复提交呢

php防止表单重复提交