如何使用机架/保护指定西纳特拉产地白名单选项(How do I specify Origin Whi

2019-07-17 16:52发布

我有一个Web应用程序,可以说http://web.example.com作出POST请求http://api.example.com 。 API服务器运行的是最新版本的西纳特拉与机架保护功能。 我收到此错误的攻击由机架::保护:: HttpOrigin阻止“。

我可以做这样的事情:

set :protection, :except => [:http_origin]

但我觉得我只是忽略了实际问题。

我试图做到这一点:

use Rack::Protection::HttpOrigin, :origin_whitelist => ['http://web.example.com']

但我仍然得到警告。

该请求不被拒绝,但西纳特拉清除我会看到这个帖子 ,我需要的SESSION_ID。

如何指定HttpOrigin类option_whitelist任何帮助或例子将不胜感激。

Answer 1:

通过你的选择作为哈希set :protection

set :protection, :origin_whitelist => ['http://web.example.com']

然后辛纳屈会把他们通过Rack::Protection设置它时。

我怀疑这是失败的原因,当你use Rack::Protection::HttpOrigin, :origin_whitelist => ['http://web.example.com']是,你仍然有保护启用,让你最终的两个实例HttpOrigin 。 你可以试试

set :protection, :except => [:http_origin]
use Rack::Protection::HttpOrigin, :origin_whitelist => ['http://web.example.com']

(即同时拥有线你试过在一起 ),但我认为第一种方法是清洁剂。



文章来源: How do I specify Origin Whitelist Options in Sinatra using Rack/Protection