如何从外部阻止站点页面?我不希望任何人不先浏览另一个页面就访问该页面。例如,我没有人能够先输入www.example.com/test而不先进入www.example.com,然后按我粘贴在www.example.com上的链接。我看到了另一个类似的问题,但是我对编码一无所知,所以答案对我来说很混乱。有人可以指引我这样做吗?这是我看到的帖子,但我不明白答案:Prevent direct access to a webpage by typing the URL。我不希望任何人甚至登录的用户都能够访问这些页面,至少直到他们付款后才能访问这些页面,但这是另一回事了。但是,如果您可以帮助我,那就太好了。
答案 0 :(得分:0)
不幸的是,我认为WordPress没有为此提供插件,因此您必须进入代码。我也不知道WordPress使用什么语言,但是如果您的文件扩展名是.html,.htm或.php,那么您就可以从事商务活动。您可以通过几种方法来执行此操作,但我将为您提供应该与所有浏览器兼容的方法。
因此,在您的引荐来源页面(在您的示例example.com中),您将在<head>
和</head>
之间插入以下代码:
<script>
function redirect(){
document.getElementById('redirect').submit();
}
</script>
然后,在<body>
和</body>
之间的同一页上插入:
<form id='redirect' action='/yourPage' method='POST'>
<input type='hidden' name='redirected', value='true' hidden>
</form>
确保将您的页面更改为正确的页面。接下来,在<body>
和</body>
之间的同一页面上,找到类似以下内容的东西:
<a href='/yourPage'>What ever your link says</a>
并将其更改为:
<a href='javascript:redirect()'>What ever you want your link to say</a>
最后,转到要保护的页面(您将其作为测试编写,在我的代码中为yourPage),然后首先确保扩展名是.html或.htm,将其更改为.php,然后插入在最上方:
<?php
if(!isset($_SERVER['POST']['redirected'])){
header('Location:www.example.com');
die();
}
?>
确保将www.example.com更改为您的网站。您可能还想知道'die()'的作用。 “标头”部分是重定向请求,所有请求都将被客户端拒绝。因此die基本上说如果您不重定向,您仍然看不到网页。
希望这会有所帮助,如果您的页面不是.htm,.html或.php,请评论扩展名是什么,以便我可以找到该语言的等同版本。