【问题标题】:Sinatra app on Heroku responds with Forbidden if I follow links如果我点击链接,Heroku 上的 Sinatra 应用程序会以 Forbidden 响应
【发布时间】:2015-10-20 20:44:32
【问题描述】:

我创建了一个小 Sinatra 应用程序并使用 Puma 运行它。我已经将我的应用程序部署到 Heroku 并且一切正常,但是如果我点击指向我的应用程序的外部链接,我会收到回复 Forbidden。这是哪里来的?

应用只定义了一种 HTTP 方法:

require 'sinatra'

get '/' do
  headers 'Content-Type' => 'application/json'
  body 'Hello World'
end

例如,跟随https://contactsampleprovider.herokuapp.com/ 将导致Forbidden,但在浏览器中手动输入 URL 可以正常工作。

如果我忽略headers-call,一切都会按预期进行。

【问题讨论】:

  • 如果是真实的用户数据,请尽快删除。
  • @yez:不,当然不是。该应用的全部目的是随机生成测试数据。
  • 好的,这是个好消息。

标签: ruby heroku sinatra puma


【解决方案1】:

这是机架保护的一项功能,如果您将内容类型设置为 JSON,它似乎会自动启用。它可以被禁用

set :protection, :except => [:json_csrf]

Sinatra and Rack protection上的这个问题中所述。

【讨论】:

    猜你喜欢
    • 2012-01-14
    • 1970-01-01
    • 1970-01-01
    • 2012-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    相关资源
    最近更新 更多