问题标签 [csrf-protection]
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.
django - 在什么情况下 CSRF-exempt 是危险的?
这个问题更像是一种再保险,而不是直接关于如何编码的问题。作为一个自学者,我没有太多机会向专业人士询问此类问题,所以我在这里尝试。
我已经阅读了 django-docs ( https://docs.djangoproject.com/en/1.3/ref/contrib/csrf/ ) 中的文档以及该页面上的一些信息:http: //cwe.mitre.org/top25 /#CWE-352
据我了解,django 向用户提供了一个令牌(某种密码)。为了验证它真的是他,他必须在下次他提出请求时归还它。Google 的一些人发现这甚至可以通过 ajax-requests 实现,这就是为什么我们从 1.2.6 开始也制定了保护它们的新政策。CSRF 是关于有人冒充别人给我一些东西(坏的、危险的代码、损坏的文件或类似的东西)。
所以如果我有这样的代码:
应该保存,因为在尝试将给定值转换为整数之前,我没有授予对数据库或应用程序任何部分的访问权限。如果我对某人下载文件做了错误的记录(在这种情况下几乎没有),也不会造成太大的损害。假设我会根据这种观点编写法案,那么 CSRF 豁免将是一个坏主意(对吗?)。
我也不明白为什么有人不能从用户那里窃取 CSRF 令牌并用它来欺骗我(或用户)。所以我对这个话题有一些疑问:
1)我的假设是否正确?
2) 有人可以告诉我,一些不太好的人可以使用上面的视图来做肮脏的把戏(以及可能如何),他们会是什么?
3) CSRF 是中间人攻击的一个例子,它只是与之相关,还是完全不同?
4)任何有价值的链接可以进一步阅读这些危险?
也许其中一些问题听起来不太了解,但我正在努力克服这一点。如果有人可以帮助我,我会很高兴。
php - 如果内容是私有的,如何防止伪造http请求?(基本上只允许来自我的界面的请求,而不是浏览器)
很抱歉再次问这个问题,但 ppl 似乎只将 csrf 与表单提交或表单复制连接起来(idk 为什么)。
我的想法是保护数据免受外部请求。为每个请求设置一个令牌,并在用户登录后开始令牌化,因此任何攻击者都不能只加载前一个页面,获取令牌并将其发送给下一个请求。从一开始就标记每个请求是否是一个好主意,这样私人用户的内容就不会被盗?我认为这是对不受保护的社交网站的强大攻击。任何攻击者从另一个流行网站窃取用户数据。
ajax - ajax的codeigniter csrf保护错误
我这里有一个小问题我无法解决,这篇文章通过但响应返回“500 内部服务器错误”</p>
谁来修复它?
在 CI 论坛中搜索后,我发现了这个链接codeigniter-csrf-protection-with-ajax但我无法解决它。任何人都可以帮助我吗?
php - Generate CSRF token for Non-Symfony forms hosted on another site
OK, so what I'm trying to do may seem like a cross-site attack - defeating the very purpose of CSRF tokens, but here is the need: I have a Symfony app site (app.timo.in) and the plain-PHP homepage web-app (www.timo.in). I wish to allow registered visitors to login from the homepage.
INFO: The app & homepage are on the same domain (timo.in)
A possible option is to generate some other token based on a sharedSecret that both sides can understand. I do not want that the token to expire too soon. One advantage I have is that the login form opens in a modal, so a fresh token can be generated each time, with a short validity. What other parameters do I need to make it secure? If I include session ID, will both sites understand it?
ALERT: I need some sort of CSRF protection, so do not suggest disabling it on the Symfony App's Login page :)
php - 提交表单时出现codeigniter csrf错误
我有一个使用 codeigniter 括号的表格
当我提交它时,我收到以下错误
不是 always
,但经常...
即使隐藏的输入字段存在于表单中:
这也发生在类似的表单上(登录)
编辑:通过表单生成的 html
ruby-on-rails - Rails 和 ajax 请求:不使用 csrf 工作?
我正在使用以下代码向 rails 发出 AJAX POST 请求:
我忘了插入 csrf 令牌,所以我认为创建操作会失败:
但是数据库中的记录已经创建,而请求以 500 错误结束:
我没有禁用 csrf 保护,所以它应该给出一个关于令牌丢失的错误,但它没有......
编辑:
在阅读了两个答案后,我有:
- 删除了 jquery_ui 文件
添加此代码以替换 csrf 令牌的 jquery_ui 函数,并设置 auth_token 以进行设计:
删除了 before_file authenticate_user!来自控制器,并将与 current_user 相关的创建操作替换为不同的操作:
然后我禁用了 CSRF 保护,但我仍然遇到同样的错误......所以问题是另一个问题,但我真的不明白什么会导致双重重定向,因为记录是在数据库中正确创建的......
codeigniter - 带有 jqGrid 的 Codeigniter:使用 csrf_token
如果在配置文件中我设置csrf_token
为false
并且一切正常。但是什么时候csrf_token
,true
我的网格只能从数据库中获取数据,而不能更新或其他任何东西。
我正在浏览这个网站上关于 Сodeigniter+jqGrid 的帖子,但仍然不明白我该怎么做。
我可以获得的价值,csrf_token
但它应该包含在哪里?
forms - Symfony2.1:CSRF 令牌无效。仅在浏览器中,PHPUnit WebTestCase 可以正常工作
如何调试为什么在我的所有浏览器中出现CSRF 令牌无效错误,但是当我使用功能测试测试相同的表单时它可以工作?
csrf - 跨站请求伪造与登录的关系
我想知道登录和跨站点请求伪造之间是否有任何关系?我的问题是,是否有不需要登录但仍需要保护 CSRF 的网站?能给我举个例子吗
node.js - csrf 令牌使用
我对使用生成 csrf 令牌来保护我的 Web 应用程序感兴趣。我的问题是我需要如何将该令牌发送回服务器:使用查询参数或 http 标头 x-csrf-token ?
有什么区别