【问题标题】:get third party website url获取第三方网站网址
【发布时间】:2019-01-02 10:28:09
【问题描述】:

结帐后,我的页面重定向到支付网关网站。支付成功或失败后,将其重定向(POST 方法)到我自己的网站页面(www.abc.com/success/id 或 www.abc.com/fail/id)。

我的问题是我能得到那个支付网关网站的网址吗?我想知道我是从哪个 url 重定向的。

我正在使用 Laravel5.6,我的代码如下所示

public function getPaymentSuccess(Request $request){
  $get_payment_gateway_url = URL::previous();
  dd($get_payment_gateway_url);
}

仅打印当前网址(我自己的网站网址)。

【问题讨论】:

    标签: laravel http-referer


    【解决方案1】:

    如果支付网关愿意分享它从哪里重定向,或者因为它生成了一个重定向响应,浏览器跟随并设置了发起者,或者因为它直接调用回调 URL 并提供了一个引用,那么你可以访问这个信息来自:

    $get_payment_gateway_url = $request->server("HTTP_REFERER");
    

    但是,这是一个 HTTP_* 标头意味着它是由请求的发起者提供的,因此不应用于安全检查,也不能保证它会在那里。

    如果支付网关不共享此信息,则无法知道请求来自何处,因为这通常发生在您的服务器之外,而您的服务器唯一看到的只是一个传入请求,其中包含发起者决定的任何信息提供。

    【讨论】:

    • 当我使用 $request->server("HTTP_REFERER") 它打印的空值。这意味着支付网关不共享信息?
    • 很可能是这样
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-09
    • 2011-02-11
    • 2023-03-23
    • 2012-08-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多