我有一个servlet响应我的GET请求'/getdata'
:
get '/getdata' do
if request.referrer.to_s == '/my_website_uri'
erb :content
else
reponse = [ 404, {'Content-Type' => 'text/html'}, '<h1>404 - Not Found</h1>' ]
end
end
我想确定请求是否在我的页面,然后提供数据,否则给出404.
我有上面的代码。如果它包含我的URI,它会检查请求引用者,但我认为任何人都可以模拟这样的请求......有没有更好的方法?
答案 0 :(得分:3)
是的,referer
is trivial to spoof。不,没有一种方法既简单又安全。
您可以控制对该URL的访问,就像您控制对任何其他URL的访问一样:使用您选择的授权和身份验证协议 - 与HTTP basic一样简单(通过SSL!),或者像现代一样OAuth