如何在我的Laravel应用程序的Ajax请求(GET或POST)中自动添加csrf令牌,而无需将其手动添加到每个请求中。
我的ajax请求
$.ajax({
type:'post',
url: "/email/unique",
data: { "_token": "{{ csrf_token() }}", "email": email }
success: function(data) {
console.log(data);
}
});
在Laravel中,默认情况下, csrf令牌元标记 的值会通过Axios HTTP库进行注册。但是,如果您 不使用此库
,则需要为应用程序手动配置此行为。
为此,请将令牌存储在HTML元标记中
<meta name="csrf-token" content="{{ csrf_token() }}">
然后,一旦创建了meta标签,就可以指示jQuery库自动将令牌添加到所有请求标头中。
为此,将代码添加到resources/js/bootstrap.js
文件中Laravel 5.7
,resources/assets/js/bootstrap.js
以获取Laravel 5.6
版本号及以下版本。
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
没有csrf令牌的Ajax,因为它将自动添加
$.ajax({
type:'post',
url: "/email/unique",
data: { "email": email }
success: function(data) {
console.log(data);
}
});
我正在尝试使用JQuery在Ajax中向请求添加头。 以下是代码:- 然后我使用了要求(要求是chrome火狐插件,我们可以手动添加一个标题到请求)。 手动添加标题后:- 在这两个pics请求头中,“ACCESS-CONTROL-request-HEADERS”中都有x-auth-token,但第二个pic中有“x-auth-token”头和头值,而第一个pic中没有。 所以我的问题是如何使用JQ
Symfony中的默认CSRF预防是基于表单的(如果使用提供的表单生成器,则会自动发生)。然而,对于AJAX请求,手动将CSRF令牌附加到每个HTTP请求,然后手动检查每个请求,这是非常繁琐的。 一个好的方法是将令牌嵌入为HTTP标头,如本问题的注释中建议的那样。jQuery然后可以被配置为在每个请求中包含这个标头,如这里所述。 我的问题是如何在Symfony内最好地处理这个问题?我可以使用Twi
我有一个代码凌空代码 我该如何设置一个名为Authorization的标题??
问题内容: 我正在尝试为我的网站上的表单添加一些安全性。一种形式是使用AJAX,另一种形式是简单的“与我们联系”形式。我正在尝试添加CSRF令牌。我遇到的问题是令牌有时仅在HTML“值”中显示。其余时间,该值为空。这是我在AJAX表单上使用的代码: PHP: 的HTML 有什么建议么? 问题答案: 对于安全代码,请不要以这种方式生成令牌: 是可以预见的 最多只加29位熵 不添加熵,而是确定性地将其
我试图创建一个带有动态预填充字段的Django表单:也就是说,当从下拉菜单中选择一个字段()时,其他字段会自动预填充相应的数据。为此,我希望在选择下拉选项后立即向服务器发送POST请求。 到目前为止,我已经尝试了以下模板(以下https://docs.djangoproject.com/en/2.0/ref/csrf/): 但是,当我选择一个下拉选项时,我会得到一个 新:17未捕获的语法错误:意外
如何使用自定义请求进行验证,我的请求使用数组键 [编辑][代码更新]显示错误: 传递给App\Http\Controllers\Controller::validate()的参数1必须是给定数组的Illumbite\Http\Request的实例,