Rails Middleware, ограничивает входящий запрос на основе параметра вместо IP - PullRequest
0 голосов
/ 01 апреля 2020

В нашем приложении у нас есть ограничение 5 посещений на IP в день для нашего API регистрации. Это наше правило промежуточного программного обеспечения.

config.middleware.insert_before "Middleware::ApiLimitThrottler", RateLimiting do |r|
    r.define_rule( :match => "^/(new_signup).*", :type => :fixed, :metric => :rpd, :limit => 5,:per_ip => true)
end

Теперь мы изменили поток регистрации таким образом, чтобы пользователь регистрировался через наш новый домен регистрации (www.newsignup.com). Оттуда мы получим запрос обратного вызова для информации о пользователе. В дальнейшем IP входящего запроса (IP нашего нового домена регистрации) будет таким же, поэтому мы не могли использовать вышеупомянутое правило. Мы получим IP-адрес нового пользователя через полезную нагрузку. Пример:

{
  "first_name": "FirstName",
  "last_name": "LastName",
  "email_address": "Email",
  "mobile_number": "Mobile",
  "ip_address": "127.0.0.1"
}

Итак, мы хотим ограничить API, используя ip_address, который мы получаем из полезной нагрузки вместо IP-адреса запросов. Есть ли способ сделать это. Заранее спасибо за помощь.

...