您好,欢迎来到[码蚁之家]阅读室   笑话大全   编程问答   问答大全   移民之家   娱乐之家   范文之家   源码下载   电子书籍   软件下载   专题
ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 网络编程 >> 其他编程教程 >> 顶 Yii2 Unable to verify your data submission 错误-CSRF

顶 Yii2 Unable to verify your data submission 错误-CSRF

来源:网络整理     时间:2016-2-1 9:05:22     关键词:

本篇文章主要介绍了"顶 Yii2 Unable to verify your data submission 错误-CSRF",主要涉及到方面的内容,对于其他编程教程感兴趣的同学可以参考一下: Yii2 功能很是强大,组件化编程很高大上,全栈编程很容易,但我觉得日常的开发中还是有很大一部分人会去手写表单之类的,为了配合前端的工作,或者懒得再去学这套堪比...

Yii2 功能很是强大,组件化编程很高大上,全栈编程很容易,但我觉得日常的开发中还是有很大一部分人会去手写表单之类的,为了配合前端的工作,或者懒得再去学这套堪比一门新语言的组件语法....

Yii2默认是对表单采取 CSRF 验证的,近些年 CSRF 也越来越被人们所在意,它比 XSS 更阴险更精明,有兴趣的可以百度下网络安全编程方面的相关知识,这里就不再累述了。

如果是自己手写的表单,且没有关闭 Yii2 自身的 CSRF 验证的话,就会出现 “Unable to verify your data submission”  的错误提示,而网上千篇一律的都是教你如何关闭 CSRF 验证,我也是呵呵了,居心何在?安全编程要贯彻到底,如果你不想过几年被搞网络安全的挤下去么。有几篇教你如何使自己的表单符合 CSRF 验证,但都是 Yii 版本的,组件的写法都与现在的 Yii2 大有不同

下面给出正确的表单写法

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>FormValidate</title>
</head>
<body>
    <div>
        <form method="post" action="">
            <input type="text" name="username">
            <input type="submit" value="submit">
            <!-- _csrf -->
            <input type="hidden"
                name="<?= \Yii::$app->request->csrfParam; ?>"
                value="<?= \Yii::$app->request->getCsrfToken();?>">
        </form>
    </div>
</body>
</html>

即在表单中添加一个 

name : 

\Yii::$app->request->csrfParam;

value:

\Yii::$app->request->getCsrfToken();

的input hidden元素即可

输出 request 组件其实就能看到一个公共的成员属性  

public $csrfParam = '_csrf';

当然你直接写也可以

以上就介绍了顶 Yii2 Unable to verify your data submission 错误-CSRF,包括了方面的内容,希望对其他编程教程有兴趣的朋友有所帮助。

本文网址链接:http://www.codes51.com/article/detail_312327.html

相关图片

相关文章