php - 安全包含数据库登录变量

标签 php

当我连接到数据库时,我 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/

相关文章:

java - 从数据库中选取数据时的动态 ListView 或 TextView

javascript - 传递文件以保存到 php

javascript - 我可以使用多个空合并运算符 ||在 vue 中就像在 php 中一样?

php - 全页缓存, block 更新

php - 为 WordPress 上传文件的权限问题

php - Laravel 绑定(bind)替换变量中的问号

php - 使用多个 MySQL 行和 For Loop - 不工作

php - 根据用户ID在同一页面显示和编辑表单

javascript - 如何使用引导列在 PHP 中连续显示图像和文本?

php - 如何在 PHP 中替换/转义 U+2028 或 U+2029 字符以阻止我的 JSONP API 中断