Tôi đang sử dụng Sinatra và CORS để chấp nhận tải lên tệp trên miền A (hefty.burger.com). Miền B (fizzbuzz.com) có biểu mẫu tải tệp lên tuyến đường trên A.Cài đặt bảo vệ Sinatra và Rack
Tôi có tuyến đường tùy chọn và tuyến đường bưu điện, cả hai đều có tên '/ người tải lên'.
options '/uploader' do
headers 'Access-Control-Allow-Origin' => 'http://fizz.buzz.com',
'Access-Control-Allow-Methods' => 'POST'
200
end
post '/uploader' do
...
content_type :json
[{:mary => 'little lamb'}].to_json
end
Các tùy chọn được hit đầu tiên ... và nó hoạt động .. thì bài bị đánh và trả về một 403.
Nếu tôi vô hiệu hóa bảo vệ, các bài hoạt động ... những loại bảo vệ làm Tôi cần loại trừ khỏi danh sách để duy trì bảo vệ nhưng cho phép các bài đăng này thông qua?
Tôi chỉ mới bị đốt cháy bởi chiếc bảo vệ Rack mới đá vào Heroku và khiến tôi đau buồn ... bất cứ ai có một con trỏ tốt để làm gì ở đây? Lý do tôi nói rằng, là tất cả của một đột ngột tôi nhìn thấy mục đăng nhập với cảnh báo cho các vấn đề cướp session (gần như chắc chắn do không có gì hơn chạy> 1 Dyno cho App). Tôi thấy rack-bảo vệ (1.2.0) trong Gemfile.lock của tôi mặc dù tôi không bao giờ yêu cầu nó ... một cái gì đó trong biểu hiện của tôi đang kêu gọi nó, vì vậy nó được nạp, nhưng không có gì trong ứng dụng Sinatra của tôi thậm chí cố gắng yêu cầu nó hoặc thiết lập nó.
Nếu bạn có đăng nhập được kích hoạt nó sẽ hiển thị mà bảo vệ là trách nhiệm, một cái gì đó như 'tấn công ngăn ngừa bằng cách RemoteToken' (với lời mở đầu logger trước nó). – matt
Tôi thấy điều này trên Rack Protection 1.5.3. Nó không xảy ra với Rack Protection eb7e4c9a176d. –