问题标签 [x-xsrf-token]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 在 Angular 6 中添加 Xsrf-Token 的问题
通过 API 从表单提交中发布数据是成功的。
但是在将 X-CSRF-TOKEN 添加到标头并设置 withCredentials: true
结果数据后没有发布到名为的脚本insert.php
错误:
加载http://localhost/simple_api/insert.php失败:对预检请求的响应未通过访问控制检查:响应中“Access-Control-Allow-Origin”标头的值不能是通配符“ *' 当请求的凭证模式是 'include' 时。因此,不允许访问源“ http://localhost:4200 ”。XMLHttpRequest 发起的请求的凭证模式由 withCredentials 属性控制。
删除withCredentials: true
结果数据已成功发布。但看不到 X-CSRF-TOKEN
app.module.ts
用户服务.ts
插入.php
安慰标头的值,未设置 Xsrf-Token。我应该如何设置 Xsrf-Token 值?
更新:
app.module.ts
angular - Angular 发布请求中缺少 _xsrf 参数
我想使用 Angular 6.x Web 应用程序将 tornado 作为后端服务器。如果我现在向本地托管的服务器发送 POST 请求,请求会到达,但 tornado 会回复 403 打印以下内容:
由于我不想关闭 xsfr cookie,我现在需要一个解决方案,如何使用 Angular 6 添加这个特定的参数HttpClient
。Angulars 官方文档仅声明,为所有请求设置了一个令牌。
有一个现已弃用的版本,它通过将以下内容添加到定义的提供程序列表中来工作app.module.ts
。然而,文档只是说看看新的HttpClient
,这不是很有帮助。
后端 cookie 在登录时设置如下:
我绝对看到这根本不安全,但是在进一步的开发过程中会增加更多的安全性。这只是让所有东西正常工作的一个基本示例。
也许你们中的一个人已经解决了这个问题,并且有一个解决方案,或者至少暗示了在哪里寻找。
axios - X-XSRF-TOKEN header with axios
Do I have to set anything to send X-XSRF-TOKEN
header if I set a XSRF-TOKEN
cookie server side?
https://github.com/axios/axios/blob/master/lib/defaults.js#L74 https://github.com/axios/axios/blob/master/dist/axios.js#L1072
It reads like I don't, but I'm not seeing one go out.
I'll add that I have set withCredentials
to true, so I do meet the first check in the OR:
so if config.xsrfCookieName
is a default.....
Update:
So, my OPTIONS
preflight CORS
is working, as is the POST
now, but no X-XSRF-TOKEN
being sent.
Thanks.
node.js - 如何使用 csurf 返回 404 而不是 403 的空路径参数处理 expressjs 休息路线?
我已经通过 Github Issues 向 csurf (Douglas Wilson) 的作者提出了这个问题,他建议在 stackoverflow 上创建一个新帖子。
原始问题在这里:https ://github.com/expressjs/csurf/issues/161
我的情况是:我在 express 中有一些 api(发布、放置、获取和删除)也带有路径参数。一些例子:删除 /api/users/2376213786213 POST /api/users 。(有身体)等等
我想使用 csurf,但我也想捕捉有人调用带有空路径参数的 api 并返回 404。简而言之,如果你调用 DELETE /api/users/(使用空 id 作为路径参数)我想要返回 404,否则如果您调用 DELETE /api/users/12121 我想处理 csrf 令牌,如果无效则返回 403。可能吗?如何?
我创建了一个中间件来处理 csrf,就像在官方 csurf 的示例中一样:
在这个中间件之后,我创建了另一个来处理 404,没什么特别的。
但是,此 api DELETE /api/users/(以空 id 作为路径参数)被第一个中间件捕获并返回 403,而不是 404。
我怎样才能解决这个问题?
谢谢你。
cookies - AspNetBoilerplate - 服务器端 JavaScript 代码注入
我们公司对运行 AspNetBoilerplate (Abp 2.0.2.0) 和 AspNet Zero 作为框架的软件进行了安全扫描。
扫描发现 cookie 中出现了 3 次服务器端 JavaScript 代码注入(RequestVerificationToken、XSRF-TOKEN、AspNet.ApplicationCookie)。
我想知道当它在框架中时如何进一步调查和补救?
是否有其他人进行过安全扫描并遇到过这些问题,如果有,它们是误报吗?
node.js - X-XSRF-Token 标头未在 angular6 中设置
我在 Angular 6 和 nodeJS Web 应用程序中遇到了一些奇怪的问题。
我必须实现 csrf 保护,所以我在节点 js 中实现了 csurf,我的节点 js 代码如下所示,
我的 Angular js 代码如下所示,调用 api post 请求,
现在的问题是它没有以任何方式设置标题,甚至没有添加任何其他标题我也在导入的代码下面添加
但没有任何效果,它没有添加 X-XSRF-TOKEN 标头,我还实现了如下拦截器,
我还获得了由 XSRF-TOKEN 中的节点 js 代码设置的令牌值,但标头未设置。
任何人都可以知道为什么标题没有设置为角度 6?注意:我在 localhost 上工作,所以 nodeJS 在http://localhost:3000上运行,而 angular 在http://localhost:4200上运行
angular - XSRF 防伪:Asp.Net Core 2 WebApi(不是 MVC)+ Angular 的单独服务器是可能的吗?
我在单独的机器上使用没有静态内容的 Asp.Net Core Webapi 2 作为后端服务器 + nginx 来服务 Angular 7 应用程序。问题来了:尝试使用 xrsf 防伪保护是否有意义,例如
services.AddAntiforgery(options => options.HeaderName = "X-XSRF-TOKEN");
在前后分离机器的情况下?据我了解,我必须管理这两个服务器之间的某种状态,以从 Nginx 提供相应的 cookie,后端服务器将接受该 cookie。
angular - Laravel 未在实时服务器上设置 XSRF-Token cookie
我使用 Laravel 5.7.16 和 Angular2 创建了一个应用程序,并且在我的本地主机中一切正常。
但是,在实时服务器上,我在提交发布请求时收到“419 错误”。经过一些研究,我得出结论,这可能是由于 XSRF-TOKEN 的问题。然后,当比较我的本地主机和实时服务器上发生的事情时,我注意到实时服务器没有在初始请求上设置 XSRF-TOKEN cookie。
我没有在我的 Angular2 HTTP 发布请求上明确设置 XSRF-TOKEN,但据我了解,只要 XSRF-TOKEN cookie 最初由服务器端应用程序设置,Angular2 就会自动执行此操作。
有人对我如何解决这个问题有任何想法吗?
编辑:我刚刚尝试将我的应用程序发布路由之一添加到VerifyCsrfToken 的$except 数组中,并且有效。但是,这更多的是一种解决方法,而不是实际的解决方案。有趣的是,在执行了“允许”的路由之后,XSRF-TOKEN 被返回,其他所有路由都正常工作。我认为这强化了这样一种想法,即问题在于 XSRF-TOKEN 没有在初始应用程序加载中返回。为什么会这样?
谢谢你。
javascript - 使用 windows.location.href 时的跨站点脚本
我正在使用 Windows.location.href=URl 从 java 脚本导航到 MVC 控制器方法。我想在重定向时避免任何 XSS 攻击。我应该怎么办
javascript - 为访问者清除 X-CSRF-TOKEN 以修复 XMLHttpRequest 被 CORS 策略阻止
我刚刚将网站从一台主机切换到另一台主机,由于某种原因,我们在尝试访问第三方 API 时遇到以下多个错误
Access to XMLHttpRequest at 'https://externalwebsite.com/api/' from origin 'https://www.mainwebsite.com.au' has been blocked by CORS policy: Request header field x-xsrf-token is not allowed by Access-Control-Allow-Headers in preflight response.
.htaccess 文件具有允许这些连接的 CORS 策略:
我可以看到旧主机设置了以下 cookie,当我在系统上删除它们时,它允许网站正常工作:
XSRF-TOKEN
1551054855|ZxDIR_16hNnw
.www.mainwebsite.com
hs
1333923782
.www.mainwebsite.com
svSession
253f275579e7747b6495ca6ff45ba024da3bd3b36906f5ac14b709de48792403faf1d3bbff2205d92d2e9a8de90d4b101e60994d53964e647acf411e4f798bcd4c6094311de4bdfbf81f1c6cdfaa3e9de1f5fc736f232b0c584f30f1f7d232d9
.www.mainwebsite.com
我如何包含一些 PHP 或 Javascript 来为加载网站的任何人清除这些 cookie,以便为过去访问过该网站的人正常加载?