我一直在寻找如何通过网址阻止/保护网页免受直接访问的日子,但没有任何帮助。
以下是一个示例:此 page 受到保护或阻止直接访问。我可以通过主页index.html
查看该页面,但如果我复制并粘贴该网址直接访问它,我就无法查看。
我想阻止或保护文件夹/ html页面/文件不被直接访问,可以通过重定向到主页index.html
,也可以在目录/ page / file直接时发送404状态代码通过网址访问。
我更喜欢通过发送404状态代码或重定向到我的notfound.html
404错误页面来保护文件夹/ html页面/文件,如果不可能,重定向到主页。
我不介意使用php或其他任何东西,但我想留下所有页面.html
我想阻止/阻止直接访问:
http://mywebsite.com/pages
整个文件夹&所有.html
页面
在文件夹中。
http://mywebsite.com/images
整个文件夹&文件夹中的所有图像。 (.png,.ico,.jpg)。
我不想只是简单地重定向页面,因为可以查看源页面。
我真的需要帮助,请明白如何...我正在学习所有这些东西。
答案 0 :(得分:1)
如果没有$_SERVER['HTTP_REFERER']
(PHP),document.referrer
(JavaScript)属性,请求可能是直接命中。
您无法安全区分直接和非直接点击。例如,HTTP引用者是一个标题,可以由客户端(用户)轻松更改。
此外,一些域策略和安全浏览器>强制删除<默认情况下为referer。这意味着,您可能遇到阻止合法请求!
如果您打算这样做,PHP中最简单的情况是:
<?php
if (empty($_SERVER['HTTP_REFERER'])) {
header('Location: /');
exit;
}
您的网络服务器(Apache .htaccess)有类似的解决方案:
RewriteCond %{HTTP_REFERER} !=""
RewriteRule - [F]
(未经过测试!)