当我连接到数据库时,我 include('connect.php')
要连接的文档。
现在我想做得更安全一点。是否可以检查想要包含 connect.php
的域是否来 self 的域。喜欢:
if($_SERVER["HTTP_REFERER"] == "mydomain.com"){
$link = mysql_connect("localhost","user","password");
mysql_select_db("dbname");
}
如果这是可能的,当 $_SERVER["HTTP_REFERER"]
可以时,我如何检查 $_SERVER["HTTP_REFERER"] == mydomain.com
返回mydomain.com/page.php
?
最佳答案
这不是 PHP 内需要解决的问题。如果有人可以像这样包含该文件,那么服务器安全性就已经搞砸了。 Web 服务器的工作是防止提供原始 PHP 文件,操作系统安全和用户设置的工作是防止未经授权的用户/进程包含文件。如果某人获得了足够的访问权限来包含该文件,那么他们就有足够的访问权限来读取该文件,在这种情况下,您在该文件中放置的任何安全措施都不会被执行。
总结:不用担心。 :)
编辑:
类似这样的事情:
RewriteEngine On
RewriteRule ^connect.php /index.php [R]
这可能会随着您的具体情况而改变,请查看 myriad of questions关于这个话题。
关于php - 安全包含数据库登录变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1350821/