Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
动态创建CSRF令牌CakePHP 3_Cakephp_Cakephp 3.0 - Fatal编程技术网

动态创建CSRF令牌CakePHP 3

动态创建CSRF令牌CakePHP 3,cakephp,cakephp-3.0,Cakephp,Cakephp 3.0,因此,我在AppController的初始化功能中启用了CSRF组件。但我有一个函数,可以通过AJAX提交到,并从表单之外的动态创建的输入发送数据: $('a#delete').on('click', function(e) { e.preventDefault(); $.post($(this).attr('href'), $('input.delete:checked').serialize()); }) 我想知道是否有一种方法可以为不在表单中的动态创建的输入创建CSRF令

因此,我在AppController的初始化功能中启用了CSRF组件。但我有一个函数,可以通过AJAX提交到,并从表单之外的动态创建的输入发送数据:

$('a#delete').on('click', function(e) {
    e.preventDefault();
    $.post($(this).attr('href'), $('input.delete:checked').serialize());
})
我想知道是否有一种方法可以为不在表单中的动态创建的输入创建CSRF令牌


我已经阅读了有关Csrf组件的内容,但它没有说明如何创建Csrf令牌,甚至没有说明如何使用表单中未包含的动态创建的输入来创建Csrf令牌。

在读取cookie值后,将
\u csrfToken
添加为表单参数:

var csrf = $.cookie('crsf');
$.post($(this).attr('href'), $('input.delete:checked').serialize() + '&_csrfToken=' + csrf);

应该注意的是,完全按照说明复制此解决方案需要使用jQuery cookie插件。但是这个解决方案的要点是,您可以从cookie中读取Csrf令牌并以这种方式传输它。我有同样的问题,但我必须发送请求表单.net应用程序,说明如何在请求中添加Csrf令牌