ruby - 如何确保 GET 来 self 的网站?

标签 ruby ajax

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

最佳答案

是的,referer is trivial to spoof .不,没有一种方法既简单又安全。

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

关于ruby - 如何确保 GET 来 self 的网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14679922/

相关文章:

c# - JQuery Ajax 函数不调用 DNN 中的后端方法

javascript - 构建 Ajax 调用数组时,JQuery Ajax 成功回调不起作用

PHP 和 XML - 删除节点

ruby - 如何将 var 分配给哈希?

ruby - 在haml中渲染部分并将变量传递给它

ruby - 存储在 CSV 文件中 - ruby 分隔符

iphone - 有没有办法测试浏览器是否支持 flash/silverlight?

javascript - 如何从自动完成文本框中单击名称?

ruby - Sinatra 的良好表单助手?

javascript - 如何使用 react-rails gem 预渲染命名空间的 React 组件?