我有一个redirect.php和一个链接,它在WORDPRESS中不起作用。
我希望当我点击我网站上的“hello”链接时,它会转到redirect.php,用户会看到微调器5秒钟,用户会将我的网站退出到hello.com
看起来mod_rewrite有问题我无法解决
我真的很感激非常详细的答案。我很小便
这就是我所拥有的。
1.-我的主页上有一个外部链接:
<a href="http://redirect.php?link=hello.com">Hello</a>
2.-在redirect.php中,我有:
<html>
<head>
...
<meta http-equiv="refresh" content="5;url=<?php echo $_GET['link'];?>" />
...
</head>
<body>
<h1>You are leaving my site!</h1>
<img src="/images/spinner.gif" alt="spinner" />
</body>
</html>
答案 0 :(得分:0)
链接<a href="http://redirect.php?...
不正确。这很可能是<a href="/redirect.php?...
或服务器上的任何子目录。
您还应该在link参数中包含协议,或将其添加到元标记中。另外,请确保对元标记中的链接进行HTML编码,并对链接参数中的域名进行正确的URL编码。
因此,请将链接更改为:
<a href="/redirect.php?link=http%3A%2F%2Ftest.com">Hello</a>
如果您的网站根目录中有redirect.php文件。并将元标记更改为:
<meta http-equiv="refresh" content="5;url=<?php echo htmlentities($_GET['link'], ENT_QUOTES,);?>" />
您可能希望对link参数的有效性进行一些验证,并且您可能还想检查引荐来源网址($_SERVER('HTTP_REFERER')
)以确保您只对来自您自己网站的链接执行重定向(即不要创建open redirect漏洞。)