Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails CSRF保护和跨站点表单访问_Ruby On Rails_Ruby_Security_Authentication_Csrf - Fatal编程技术网

Ruby on rails CSRF保护和跨站点表单访问

Ruby on rails CSRF保护和跨站点表单访问,ruby-on-rails,ruby,security,authentication,csrf,Ruby On Rails,Ruby,Security,Authentication,Csrf,我正在进行跨站点身份验证(某些域具有通用身份验证)。所以我想把身份验证数据(登录名、密码)从其他人发送到主域 我应该如何使用保护\u免受伪造以及如何检查是否从有效域收到数据 我现在想的是关闭会话控制器的保护\u免受伪造,并检查接收数据的域名 但也许我不仅可以为一个域配置CSRF保护?保护通过检查会话[:\u CSRF\u令牌]来工作,因此,如果您的会话在所有域中都相同,那么防止伪造就可以工作。您的目的就是对CSRF漏洞进行定义。强制用户登录或注销通常对攻击者没有帮助。要完成此黑客攻击,攻击者必须

我正在进行跨站点身份验证(某些域具有通用身份验证)。所以我想把身份验证数据(登录名、密码)从其他人发送到主域

我应该如何使用
保护\u免受伪造
以及如何检查是否从有效域收到数据

我现在想的是关闭会话控制器的
保护\u免受伪造
,并检查接收数据的域名


但也许我不仅可以为一个域配置CSRF保护?

保护通过检查会话[:\u CSRF\u令牌]来工作,因此,如果您的会话在所有域中都相同,那么防止伪造就可以工作。

您的目的就是对CSRF漏洞进行定义。强制用户登录或注销通常对攻击者没有帮助。要完成此黑客攻击,攻击者必须知道用户名和密码,这就违背了在另一个用户经过身份验证的会话上进行“会话骑行”的目的。作为一个写文章的铁杆黑客,我告诉你这不是一个严重的问题

修补此问题的一个简单方法是检查referer并确保登录请求来自域的白名单。另一种修补方法是使用Capthca,如reCapthca。是的,你读对了。之所以这样做,是因为攻击者无法使用javascript或flash解决capthca问题,从而“伪造”有效的登录请求