我正在构建rails paypal集成,我正在使用沙箱 在购买之后,我将用户重定向到“您的交易已完成” 页。 我想阻止用户直接访问该页面。
所以我试图追踪HTTP_REFERER但未设置
request.env.has_key?('HTTP_REFERER')
<http://stackoverflow.com/questions/3104711/ruby-on-rails-request-envhttp-referer-returns-nil/3104799#3104799>
答案 0 :(得分:0)
我建议换一种方式。信任引用者并不是一种非常安全的方法来阻止用户访问页面,因为它很容易被用户操纵并且不可靠。
通常,如果您从HTTPS重定向到HTTP,它将为空,因为我怀疑是这种情况。
我会使用会话或PayPal令牌来阻止用户访问该页面。如果设置了订单会话编号,并通过PayPal完成付款(PayPal将向您发送详细信息,表明付款成功,代币等),则显示付款完成页面。