问题标签 [csrf]

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.

0 投票
1 回答
728 浏览

django - 带有自定义身份验证后端的 Django,真的需要 Csrf 中间件吗?

在 Django 1.1.1 下,我使用了多个身份验证后端,例如用于 facebook connect的社交注册和用于基于电子邮件的身份验证的django-emailauth,而不是用户名。

我很好奇 Csrf 中间件是否是一项重要的安全措施,因为它似乎有时会产生问题,尤其是在使用 facebook connect 时。

我的项目相当简单。每个用户都有一个他们可以填写的个人资料和一个购买页面,他们可以在其中填写付款以进行购买。这些页面中的任何一个都受保护@login_required

0 投票
3 回答
20244 浏览

django - 拥有 POST'able API 和 Django 的 CSRF 中间件

我有一个 Django webapp,它既有前端的、可通过网络访问的组件,也有一个可由桌面客户端访问的 API。然而,现在有了新的 CSRF 中间件组件,来自桌面客户端的经过 POST 的 API 请求会得到 403。

我理解为什么会发生这种情况,但是在不影响安全性的情况下解决这个问题的正确方法是什么?是否有某种方式可以在 HTTP 标头中表明它是一个 API 请求并且 Django 不应该检查 CSRF 或者这是一个糟糕的策略?

编辑 -

我目前使用的方法是桌面客户端设置一个标头,X-Requested-With: XMLHttpRequest。这有点骇人听闻,但我不确定如何更好地处理。

0 投票
1 回答
737 浏览

django - Django - 如何在公共页面上做CSFR?或者,更好的是,它应该如何使用时期?

阅读后:http ://docs.djangoproject.com/en/dev/ref/contrib/csrf/#how-to-use-it

我得出的结论是,除非您信任使用它的页面的人,否则使用它是无效的。它是否正确?

我想我真的不明白什么时候可以安全使用它,因为这个声明:

对于以外部 URL 为目标的 POST 表单,不应这样做,因为这会导致 CSRF 令牌泄露,从而导致漏洞。

令人困惑的原因是;对我来说,“外部 URL”将是不属于我的域的页面(即,我拥有 www.example.com 并放置一个发布到 www.spamfoo.com 的表单。这显然不可能因为人们不会使用 Django 生成发布到其他人网站的表单,但是您不能在公共表单(如登录表单)上使用 CSRF 保护怎么可能是真的呢?

0 投票
3 回答
8265 浏览

html - 我们应该在哪里放置 HIDDEN 变量在 JSP 中

我需要在我的 JSP 中使用隐藏变量来进行会话跟踪。这是代码:

我使用它来比较请求令牌和会话令牌,所以只有当两者相等时我才会评估该请求,否则我会抛出错误。

现在的问题是,当我将此代码放在<form></form>标签中时,它工作正常。不幸的是,我的应用程序中有一些 JSP 没有<form>标记(我知道这听起来很奇怪!)。我可以在哪里放置我的代码以便它可以工作?

我不能使用没有<form>标签的隐藏变量吗?

0 投票
2 回答
961 浏览

php - 允许视频嵌入时需要注意哪些 XSS/CSRF 攻击(如果有)?

我被分配了一个网站项目,允许用户上传视频(使用 YouTube API),但更重要的是(对我而言)他们还可以提交视频嵌入代码(来自众多视频网站、YouTube、Vimeo等)。

没有允许用户嵌入视频的经验:
我如何才能最好地防止专门针对视频嵌入的跨站点脚本和/或跨站点请求伪造攻击?有哪些常见的陷阱需要注意?

至少我会考虑去除除<object>,<param>和之外的所有标签<embed>。但我有一种感觉,这还不够,不是吗?

编辑
另外:
您认为在<embed src=and<param name="movie" value=属性中只允许已知的视频域名是否足以防止流氓 Flash 电影被嵌入到这些属性中?
/编辑

如果它很重要,环境将是:

  • PHP/Zend 框架
  • MySQL

加分项:
对于视频嵌入代码,是否有一个通用的最低黄金规则/代码模板,该模板在我可以用来过滤输入的所有视频网站上都有效?

0 投票
2 回答
976 浏览

python - 让 CSRF 中间件在 Django 的 404 错误页面中工作

我在 Django 项目中的 404.html 中单独放置了一个登录框和一个关键字搜索框,以便在出现 404 错误的情况下,访问者可以获得更多选项来跳转到其他部分。

但是 CSRF 中间件在没有呈现 csrf 令牌的 404 错误页面中不起作用。我尝试将 'django.middleware.csrf.CsrfViewMiddleware' 移动到 settings.py 中 MIDDLEWARE_CLASSES 的第一个,但也没有工作。

有人知道解决方案吗?

0 投票
6 回答
11772 浏览

ajax - 如何在 AJAX 中使用 Zend Framework Form Hash (token)

我已将 Zend_Form_Element_Hash 包含在一个表单multiplecheckbox 表单中。我将 jQuery 设置为在单击复选框时触发 AJAX 请求,我将令牌与此 AJAX 请求一起传递。第一个 AJAX 请求运行良好,但随后的请求失败。

我怀疑它可能是一旦令牌得到验证,它就会从会话中删除(hop = 1)。

对于使用 Zend Framework Hash 保护表单并使用 AJAX 完成其中一些请求,您的攻击计划是什么?

0 投票
6 回答
230 浏览

security - 有没有人看到执行以下操作以防止 CSRF 的任何缺点?

我想知道以下方法是否会完全阻止 CSRF,并与所有用户兼容。

这里是:

在表单中只包含一个额外的参数,即:encrypted(user's userID + request time). 服务器端只需解密并确保它是正确的用户 ID 并且请求时间是最近的。

除了有人嗅探用户的流量或破坏加密之外,这是否完全安全?有什么缺点吗?

0 投票
3 回答
6282 浏览

java - JSF 将 id 视为请求令牌

我在某处读到 JSF 框架使用的视图 ID 具有充当请求令牌并因此挫败 CSRF 的令人愉快的副作用。有人可以告诉我这是否意味着我不必从编程的角度做任何事情(即)。作为程序员,如果我使用 JSF 就不用担心 CSRF 了?

0 投票
4 回答
81145 浏览

php - CSRF (Cross-site request forgery) attack example and prevention in PHP

I have an website where people can place a vote like this:

This will place a vote on item 25. I want to only make this available for registered users, and only if they want to do this. Now I know when someone is busy on the website, and someone gives them a link like this:

then the vote will be places for him on the item without him wanting to do this.

I have read the explanation on the OWASP website, but i don't really understand it

Is this an example of CSRF, and how can I prevent this. The best thing i can think off is adding something to the link like a hash. But this will be quite irritating to put something on the end of all the links. Is there no other way of doing this.

Another thing can someone maybe give me some other example of this, because the website seems fairly fugue to me.