CSRF保护Drupal的主机

我有我需要从CSRF攻击保护,并有多个问题,一些PHP后脚本:

1)如果我使用jQuery没有一个HTML表单提交POST请求到PHP,仅仅是从HTML元素的CSRF的风险直接获取值和使用jquery提交他们,我还受?

2)当网站用户登录后,我存储在会话变量其独特的标记。在PHP脚本POST我检查如果会话变量被设置并具有我之前设置的值相同。难道这还不够?为什么它需要被包含在HTML表单令牌呢?

CSRF保护Drupal的主机相匹配的一个中

问11月15日在'14 23:43

  1. 是。不要紧,你如何构建请求,攻击者可以构造一个以同样的方式。 (理论上,你可以做一个复杂请求的功能(这将触发CORS预检要求)强制性的,因此其他网站无法获得用户的浏览器复制整个请求,但我不想依赖于) 。
  2. 没有

令牌的一点是要检查其包含负责决定在请求发生的事情的代码(即形式和JavaScript)的页面上你的网站的网页。

如果表单(或JavaScript),可以读取页面的HTML的标记(相匹配的会话中的一个),并把它的请求,那么你知道,构建请求的代码从您的网站来了。

如果你只是检查它是否在会话中,那么你正在检查是用户已致使产生一个令牌(这通常只是意味着访问您的网站...这可能是一个隐藏帧中的任何页面)。

好。怎么样,如果攻击者有一个JS可以包括从我的网站实际的HTML表单到隐藏的iframe。我已经在另一个例子中看到它,不会在令牌如果用户访问攻击者的网站,同时登录列入形式?在这种情况下,请求将是真实的令牌存在形式,并在会议上还是我失去了一些东西?迈克尔 - 塞缪尔11月15日在'14 23:58

不,如果你把框架的形式中,由框架加载页面字段将不会被包含在表单数据。您无法通过使用JavaScript框架看跨域数据(除非该网站使用于PostMessage,你不会是共同经营)。 - 昆廷 - 11月16日在'14 0:02

是的,它仍然是不安全

跨站请求伪造令牌应该是每次生成的表单时间新鲜生成的令牌。它需要对每个请求是唯一的和不可预知的。会话令牌从登录设定只适用于整个登录会话是唯一的。

如果你不发布生成的令牌来检查,你在哪里检查?你匹配会话令牌。究其原因,就是因为你仍然可以给人们做一个请求伪造的可能性,如果令牌不与请求本身发送的,但所有的检查都通过会话/饼干做。如果你只检查会话它针对CSRF什么。它需要在请求本身被发送,如果您的会话匹配检查。当您生成每个请求的唯一凭证,坏人无法伪造别人的请求。

CSRF保护的Drupal托管浏览器

回答11月15日在'14 23:55

看这个视频!

相关文章

Drupal的使用SSL托管HTTPS是加密的HTTP请求及其响应的协议。这确保了如果有人能危及您的计算机和您所请求的服务器之间的网络...
埃吉尔Drupal的托管服务采摘Drupal的主机可以是一个艰巨的任务,如果你不知道什么是提供给您。在某些情况下,你可能会被罚款的东西,如一个共享的托管环境,HostGator的或...
更改表前缀的Drupal托管我有一个Drupal 7网站上的Web服务器上运行,它是目前使用用了一个前缀创建的数据库。我试图到该数据库从恢复到新的Drupal实例...
Miglior托管的Drupal主题什么是Drupal的? Drupal是一个开源的内容管理平台,可以下载并免费使用。它由一个核心小组是所有安装标准文件中,...
Combell Drupal的英国托管Drupal的轻松。如果你已经决定,这是你要用来创建您的网站内容管理系统,何不也用它用自己完美的网址是什么?让你的网站?