Php 如何隐藏$#服务器[';HTTP#u REFERER';]

Php 如何隐藏$#服务器[';HTTP#u REFERER';],php,Php,当用户通过链接从我的站点浏览到另一个站点时,如何隐藏$\u服务器['HTTP\u REFERER']?您不能,您无法控制发送到另一个站点的标题。标题从浏览器发送到要导航的站点。这意味着您不能以任何方式操纵它们(除了MITM攻击) 您可以通过中间代理将用户重定向到站点,但该代理将成为新的推荐人。e、 g Your Link -> Proxy -> End result 你的链接->代理->最终结果如果你在一个受控的(比如说内部网)环境中工作,你可能会从修正浏览器配置中获益,例如,但这远不是理想的

当用户通过链接从我的站点浏览到另一个站点时,如何隐藏
$\u服务器['HTTP\u REFERER']

您不能,您无法控制发送到另一个站点的标题。标题从浏览器发送到要导航的站点。这意味着您不能以任何方式操纵它们(除了MITM攻击)

您可以通过中间代理将用户重定向到站点,但该代理将成为新的推荐人。e、 g

Your Link -> Proxy -> End result
你的链接->代理->最终结果如果你在一个受控的(比如说内部网)环境中工作,你可能会从修正浏览器配置中获益,例如,但这远不是理想的

不仅通常不应该这样做,而且这是不可能的,至少以您描述的方式是不可能的。由客户机决定将请求头中的内容发送到其他服务器,而不是您

我还应该指出,这与PHP无关。PHP使您可以通过$_SERVER['HTTP\u referer']访问此头变量,但您试图解决的问题是避免客户端将referer URL发送到下一个服务器

一些选项:

如果您的站点使用HTTPS,则不会发送

如果您在站点上构建重定向器脚本并使用HTTP刷新头,浏览器通常不会发送推荐者,如果发送了,您将只发送重定向器的URL。例如:


现在,你必须小心这个小脚本。然后,任何人都可以使用你的站点使重定向看起来像是来自你。此外,使用此方法,任何人都可以向客户端注入他们想要的任何头。这只是给你一个想法。最后,为此使用刷新头违背了标准的规定,不应该这样做

最后,Google、Facebook、PayPal等都有重定向器脚本。他们在URL上使用某种加密哈希来确定是否生成了重定向。如果您没有指定该散列并只给出URL,那么在重定向之前将提示用户。不友好


听着,底线是,没有真正的理由去做你正在做的事情。如果您试图在URL中隐藏某些内容,那么您会遇到更大的问题。默默无闻的安全是不好的,嗯,好吗?

躲着谁?如果你不想看到它,那么就不要看它。这是一个模糊的问题,如果你想从目标页面“隐藏”它,你必须使用转发器,就像你必须提供更多的信息一样?是否要阻止它从客户端发送到服务器?何时访问您的站点或何时离开您的站点?你在用PHP做什么?你的问题不清楚!如何在从我的站点转到另一个站点时隐藏我的站点$\u服务器['HTTP\u REFERER']site@Rose:要重新迭代,否,您不能以任何方式操作标题。浏览器选择在HTTP请求中发送哪些标头,以前查看的页面根本无法更改这些标头。
<?php
    if (isset($_GET['url'])) {
        header("Refresh: 0; " . $_GET['url']);
    }
?>