Tôi có ứng dụng web, cho phép nói http://web.example.com gửi yêu cầu POST tới http://api.example.com. Máy chủ api đang chạy phiên bản Sinatra mới nhất với tính năng bảo vệ giá được bật. Tôi nhận được lỗi này 'tấn công ngăn chặn bởi Rack :: Protection :: HttpOrigin'.Làm cách nào để chỉ định Tùy chọn danh sách trắng gốc ở Sinatra bằng Rack/Protection
tôi có thể làm một cái gì đó như thế này:
set :protection, :except => [:http_origin]
nhưng tôi cảm thấy như tôi chỉ bỏ qua những vấn đề thực tế.
Tôi đã cố gắng để làm điều này:
use Rack::Protection::HttpOrigin, :origin_whitelist => ['http://web.example.com']
nhưng tôi vẫn nhận được cảnh báo.
Yêu cầu không bị từ chối, nhưng Sinatra xóa phiên của tôi see this post và tôi cần session_id.
Bất kỳ trợ giúp hoặc ví dụ nào về cách chỉ định option_whitelist cho lớp HttpOrigin sẽ được đánh giá cao.
Bạn đã thử 'sử dụng Rack :: Protection,: origin_whitelist => ['http://web.example.com']'? Nhìn vào [nguồn] (https://github.com/rkh/rack-protection/blob/master/lib/rack/protection/http_origin.rb), tôi nghĩ bạn có thể vứt bỏ mảng đó (trừ khi bạn thêm một số đường dẫn) vì một chuỗi duy nhất được bao bọc trong một mảng. – iain
Điều đó dường như không hoạt động. Tôi lấy ví dụ ban đầu từ các bài kiểm tra đặc điểm của thư viện [ở đây] (https://github.com/rkh/rack-protection/blob/master/spec/http_origin_spec.rb) – Emjay