Express 带斜纹的CSRF

Express 带斜纹的CSRF,express,csrf,twilio,Express,Csrf,Twilio,我正在尝试让Twilio与我的express/node.js安装一起工作。当Twilio收到一条短信时,它正在与我的服务器建立一个传入连接。然后我用短信回复 这是第一次。第二次,我的服务器阻止了Twilio,因为它说这是一个伪造的请求 有没有合适的方法来解决这个问题 您应该禁用该URL的CSRF。请参见有关如何执行此操作的问题: CSRF是一个漏洞,仅适用于需要cookie形式的会话信息的请求(这就是为什么CSRF有时也称为“会话驱动”)。简而言之,CSRF是指恶意网站所有者可以在其控制的页面上

我正在尝试让Twilio与我的express/node.js安装一起工作。当Twilio收到一条短信时,它正在与我的服务器建立一个传入连接。然后我用短信回复

这是第一次。第二次,我的服务器阻止了Twilio,因为它说这是一个伪造的请求


有没有合适的方法来解决这个问题

您应该禁用该URL的CSRF。请参见有关如何执行此操作的问题:

CSRF是一个漏洞,仅适用于需要cookie形式的会话信息的请求(这就是为什么CSRF有时也称为“会话驱动”)。简而言之,CSRF是指恶意网站所有者可以在其控制的页面上使用
标记将表单发布到您的网站,从而在用户不知情的情况下将经过身份验证的请求发送到您的服务器。例如,假设Facebook有一个/delete_user.php,它删除当前经过身份验证的用户。对该URL的CSRF攻击将以恶意网站所有者网站上的
标记的形式(并非双关语)进行,该标记在用户不知情的情况下提交。/delete_user.php的非CSRF安全实现将看到用户的auth cookie并删除用户——这让用户非常失望


总之,长话短说,您的Twilio处理程序不需要用户的浏览器cookie,因此不会受到CSRF攻击。只需禁用Twilio回调URL的CSRF检查。

感谢您的精彩解释。我将禁用该控制器的csrf检查。但我很好奇,为什么浏览器会允许另一个网页在另一个请求之上运行。为什么浏览器不在站点之间划分cookie?浏览器在站点之间划分cookie。攻击者在任何时候都无法访问实际的facebook.com cookies(继续上面的示例)。执行此攻击是为了提交GET/POST请求,从而在用户的浏览器内产生一些副作用。ahh。知道了。非常感谢你!