1

我有一个 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,它会检查请求引用者,但我认为任何人都可以模拟这样的请求......有没有更好的方法?

4

1 回答 1

3

是的,referer欺骗是微不足道的。不,没有一种既简单又安全的方法。

您可以像控制对任何其他 URL 的访问一样控制对该 URL 的访问:使用您选择的授权和身份验证协议——就像HTTP 基本(通过 SSL!)一样简单,或者像OAuth一样现代。

于 2013-02-04T03:28:33.263 回答