ruby - rails限制多个IP访问的方法?
黄舟
黄舟 2017-04-21 10:58:01
0
1
565

对某一个action的IP的限制方式是,在routes.rb中:

  constraints(:ip => Settings.ip.allow) do
     post '/somecontroller/callback', to: 'somecontroller#callback' , as: 'somecontroller_callback'
  end

在settings.yml中:

  ip:
    allow: '127.0.0.1'

这是可以的.

但是想对多个IP允许访问,在settings.yml中如下:

  ip:
    allow: '/127.0.0.1|127.0.0.2/'

却不行。哪里不对呢?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回覆(1)
黄舟

因為 Settings.ip.allow 總是回傳的是 String,但其實第二種情況下你需要的是一個 RegExp,所以無效。可以試著這麼改:

config/routes.rb:

constraints(:ip => %r{#{Settings.ip.allow}}) do
 post '/somecontroller/callback', to: 'somecontroller#callback' , as: 'somecontroller_callback'
end

config/settings.rb

ip:
  allow: '127.0.0.1|127.0.0.2'
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!