Ruby on Rails Rack Cors Внесение промежуточного программного обеспечения в черный список - PullRequest
3 голосов
/ 05 мая 2020

Я работаю над унаследованным проектом в Rails 4, в котором гем rack-cors используется для разрешения CORS. Я знаю, что есть возможность занести домен в белый список.

use Rack::Cors do
  allow do
    origins 'localhost:3000', '127.0.0.1:3000',
        /\Ahttp:\/\/192\.168\.0\.\d{1,3}(:\d+)?\z/
        # regular expressions can be used here

    resource '/file/list_all/', :headers => 'x-domain-token'
    resource '/file/at/*',
     methods: [:get, :post, :delete, :put, :patch, :options, :head],
     headers: 'x-domain-token',
     expose: ['Some-Custom-Response-Header'],
     max_age: 600
     # headers to expose
  end
end

Есть ли возможность занести домен в черный список, чтобы CORS был отключен для этого конкретного домена. Я пытаюсь понять это, потому что я действительно не могу найти все домены, которые используют API в проекте. Я не смог найти в документации ничего, что могло бы внести в черный список определенный домен c.

Есть ли другой способ реализовать это? Спасибо за помощь заранее.

1 Ответ

2 голосов
/ 05 мая 2020

Лучший способ занести в черный список небезопасные домены - использовать стэк-атаку gem

# config/initializers/rack_attack.rb

Rack::Attack.blocklist('block spammers') do |req|
  request.referer =~ spammer_regexp # /foo\.com|bar\.com/
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...