繁体   English   中英

阻止直接访问html页面

[英]Prevent direct access to html pages

我创建了一个简单的登录页面来访问邮件发送表单。 登录页面工作并重定向到sender.html。 我想要的是不要让其他人在没有登录的情况下访问sender.html或send.php。我已经尝试过了

 <?php $referrer = $_SERVER['HTTP_REFERER']; if ($referrer != "http://www.example.com/login.html") { header('Location: http://www.example.com/login.html'); } ; ?> 

进入sender.html的开头,但它不起作用。 我也尝试将重定向规则添加到.htaccess但是在登录后不允许访问页面。 我是初学者,但已经花了一段时间来解决这个问题,非常感谢你的帮助。

将文件名从sender.html更改为sender.php 当文件具有html扩展名时,它将不会处理php。

您还可以修改.htaccess文件以告诉服务器将.html文件作为.php文件处理,但我认为更改文件扩展名更容易。

首先,检查referer变量不是一个好方法; 攻击者可以伪造那个头。 简单的方法是使用基本身份验证来保护您感兴趣的两个页面。

示例.htaccess:

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /usr/local/apache/passwd/htpasswd
Require valid-user

(有关更多详细信息以及如何创建包含用户的htpasswd文件,请参阅http://httpd.apache.org/docs/2.2/howto/auth.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM