request_origin_validation.rb 455 B

12345678910111213
  1. module RequestOriginValidation
  2. def verify_request_origin
  3. return if request.get? || request.head?
  4. # Accept blank origin headers because some user agents don't send it.
  5. origin = request.headers["origin"]
  6. unless origin.nil? || origin == request.base_url
  7. logger.warn "HTTP Origin header (#{origin.inspect}) didn't match request.base_url (#{request.base_url})"
  8. raise ActionController::InvalidCrossOriginRequest
  9. end
  10. end
  11. end