Bir web uygulamasına sahip olduğumda, http://api.example.com'a POST isteğinde bulunan http://web.example.com diyelim. API sunucusu, Sinatra'nın en yeni sürümünü raf korumasına sahip olarak çalıştırıyor. Rack :: Protection :: HttpOrigin 'tarafından engellenen bu hatayı alıyorum.Sinatra'daki Kök Beyaz Listesi Seçeneklerini Raf/Koruma kullanarak nasıl belirleyebilirim
böyle bir şey yapabilirsiniz:
set :protection, :except => [:http_origin]
ama sadece gerçek sorunu görmezden am gibi hissediyorum.
use Rack::Protection::HttpOrigin, :origin_whitelist => ['http://web.example.com']
ama hala uyarıyı alıyorum:
Bunu yapmaya çalıştık.
İstek reddedilmiyor, ancak Sinatra oturumumu temizler see this post ve ben session_id gerekir.
HttpOrigin sınıfı için option_whitelist öğesinin nasıl belirtileceğine dair herhangi bir yardım veya örnek büyük takdir edilecektir.
Rack :: Protection,: origin_whitelist => ['http://web.example.com'] 'kullanmayı denediniz mi? [Kaynak] 'a baktığımda (https://github.com/rkh/rack-protection/blob/master/lib/rack/protection/http_origin.rb), diziyi de atlatabileceğinizi düşünüyorum (Tek bir dize olarak birkaç yol ekleyerek bir diziye zaten sarılır. – iain
Bu da işe yaramıyor. Özgün örneğimi kütüphaneler arası testlerden aldım [burada] (https://github.com/rkh/rack-protection/blob/master/spec/http_origin_spec.rb) – Emjay