【问题标题】:Should I Make Database Connection With PHP Includes我应该使用 PHP 建立数据库连接吗?
【发布时间】:2011-08-16 16:55:52
【问题描述】:

有人告诉我,在 PHP 包含中建立数据库连接是不安全的。例如,如果我有一个登录页面并在具有数据库连接的页面顶部添加一个“include('process.php')”,这是不安全的吗?

【问题讨论】:

  • 使用包含本身并没有什么不安全的地方,但如果代码本身不安全,也许您可​​以展示您的代码并获得答案。

标签: php mysql database login include


【解决方案1】:

例如,如果我有一个登录页面并在具有数据库连接的页面顶部添加“include('process.php')”,这是不安全的吗?

没有。

也许告诉你这件事的人在谈论其他事情——比如使用来自 GET 参数的动态值包含文件,或者使用远程 http:// 包含,或者正如 @AlienWebguy 提到的那样,将密码包含在网络根。但是使用包含本身并不是不安全的。

【讨论】:

  • 谢谢,这就是我需要知道的。我不确定查看包含文件的内容是否存在任何安全漏洞。
【解决方案2】:

如果您将密码按字面意思存储在 PHP 文件中,这只是不安全的。它们应该在 Web 根目录之外声明。话虽如此,缺乏安全性并不是因为使用了include() 函数。

【讨论】:

    【解决方案3】:

    就其本身而言,不,它不是不安全的。它是如何在 include 中实现的当然是另一回事了。

    【讨论】:

      【解决方案4】:

      这就是我一直这样做的方式。我确保包含在具有开放权限的不同目录中,并且您写入的目录具有锁定权限。希望这是有道理的。

      【讨论】:

        【解决方案5】:

        这个问题太宽泛了,无法从任何人那里得到好的答案。简短的回答是否定的,包含连接到数据库的文件本身并没有什么不安全的地方。但是,如果您编写的代码没有正确编写,那么是的,这样做可能是不安全的。

        【讨论】:

          【解决方案6】:

          由于使用“include('process.php')”与将“process.php”粘贴到另一个文件的代码中完全相同,因此这本身不应该是一个安全问题。不安全性可能存在于您的代码中,而不是您使用“包含”的事实。事实上,由于重用,它可能会提高代码的安全性。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-12-15
            • 1970-01-01
            相关资源
            最近更新 更多