【问题标题】:Hide URL for server side redirect隐藏服务器端重定向的 URL
【发布时间】:2011-10-07 09:56:40
【问题描述】:

配置:服务器是iplanet 6.1,客户端浏览器是ie6

我有一个网址:http://example.com/signOnTodef?cmd=login

这个请求基本上是iplanet 6.1收到的。在这里,我有一个插件,它执行一些 cookie 身份验证并将其重定向到另一台服务器:

http://example.net?theQueryStringFromBeforeABitModified

所以这是一个服务器端重定向 (302)。

现在我的问题是这个网址http://def.com?theQueryStringFromBeforeABitModified 显示在浏览器上。我不希望这种情况发生。我能做些什么来阻止同样的事情?

【问题讨论】:

  • 检查您的服务器是否支持Reverse Proxy - 这将允许您通过您的服务器从另一台服务器提供内容,而无需更改浏览器中的 URL。
  • 不,它没有反向代理。有没有其他办法..有没有从用户端(我的意思是浏览器端)的方法?其实它并不是单纯的把网址放在地址栏上。但是原始网站会有一个按钮,点击该按钮会将请求发送到服务器 abc.com

标签: http-redirect


【解决方案1】:

HTTP 302 不是“服务器端”重定向。这只是一个重定向。您不能进行服务器端重定向,因为您要查看页面的是客户端,而不是您的服务器。

【讨论】:

    【解决方案2】:

    您可以尝试在 PHP 中执行类似的操作。我不知道 iplanet 服务器是什么,或者它是否安装了 PHP,但是:

    <?php
    
        $file = file_get_contents('http://def.com'.$queryString);
        echo str_ireplace('<head>', '<head>'."\n\t".'<base href="http://def.com/" />', $file);
    
    ?>
    

    根据您尝试向用户显示的文件,或类似的方法可能会起作用。 请记住,这里没有发生重定向。您的服务器将为每个请求下载http://def.com,然后将其输出给用户。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-18
      • 1970-01-01
      • 1970-01-01
      • 2011-01-02
      • 1970-01-01
      • 1970-01-01
      • 2020-07-02
      相关资源
      最近更新 更多