当前位置: 首页 > 面试题库 >

如何关闭仅适用于JSON的railsprotect_from_forgery过滤器

谢阳曜
2023-03-14
问题内容

我有使用Rails3构建的网站,现在我想实现JSON
API来访问移动客户端。但是,由于protect_from_forgery过滤器,从客户端发送json发布请求。因为客户端不会从服务器检索任何数据,所以客户端无法接收auth_token,所以我只想对json请求关闭protect_from_forgery选项(我以为rails3默认会这样做,但显然不会)


我知道这里讨论了类似的话题,但是在那种情况下,他在发送发布请求之前收到auth_token。

所以我的问题是仅对json关闭protect_from_forgery是这样做的好方法吗?如果是,该怎么办?如果没有,那有什么选择?

仅供参考,我使用以下ajax请求

$.ajax({
             type: 'POST',  
             url: "http://www.example.com/login.json",  
             data: { 'email': emailVal, 'password': passwordVal },  
             success: onSuccess,  
             error: onError,  
             dataType: "json"  
});

并且我收到ActionController :: InvalidAuthenticityToken错误。

顺便说一句,下面的curl命令虽然有效…

curl -H "Content-Type: application/json" -c cookies.txt -d '{"email": emailVal, "password": passwordVal}' -X POST http://www.example.com/login.json -i

问题答案:

看一下这篇文章:http: //zadasnotes.blogspot.com/2010/11/rails-3-forgery-csrf-
protection-for.html
[
archive.org ]

更新资料

此后该文章已被删除,因此我进行了快速搜索,发现该文章的原始作者在SO上发布了此问题。



 类似资料:
  • 问题内容: 关闭页面时,我使用此代码注销用户,但是单击其他链接(相同的网站)时,用户也会注销: 有什么方法可以区分链接导航和实际页面关闭吗? 编辑: 我目前已实现此解决方案,但是它缺乏检测页面重新加载的能力 问题答案: 尝试以下解决方案,希望对您有所帮助 要么

  • Navicat 提供两款代码调试器:“Oracle PL/SQL 调试器”和“PostgreSQL PL/pgSQL 调试器”。使用调试器,你可以切换断点,获取调用堆栈,查看变量值,追踪代码等。

  • Navicat 提供两款代码调试器:“Oracle PL/SQL 调试器”和“PostgreSQL PL/pgSQL 调试器”。使用调试器,你可以切换断点,获取调用堆栈,查看变量值,追踪代码等。

  • Navicat 提供两款代码调试器:“Oracle PL/SQL 调试器”和“PostgreSQL PL/pgSQL 调试器”。使用调试器,你可以切换断点,获取调用堆栈,查看变量值,追踪代码等。

  • 问题内容: 关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow的主题。 7年前关闭。 改善这个问题 是否可以使用任何基于Web的IDE进行快速测试?PHP有12种,甚至Java也有12种,但是我还没有发现它可以运行Python。如果有 可供我自己托管和运行的开源IDE ,那会更好。 谢谢 问题答案: 您可能想尝试一下: 试用Py