[英]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.