使用此方法我的MySQL连接详细信息是否安全?

时间:2012-02-08 22:53:12

标签: php mysql

我有一个登录页面。在这个页面中有一个连接MySQL的PHP​​脚本。我在connection.inc中单独保存了MySQL设置。因此,为了连接到MySQL,我插入到php脚本include(connection.inc)

我只是想知道这是否是最安全的选项,因为我可以在浏览器中输入www.example.com/connection.inc,并且可以看到登录详细信息。

即使您在浏览器中右键单击并查看源代码时也无法看到php脚本,我知道您可以获得可以找到php脚本的软件。

4 个答案:

答案 0 :(得分:2)

不,那不安全。这被默默无闻地称为安全

您应该将connection.inc放在Web可访问目录(www-docs)之外 - PHP仍然可以读取它,但Internet上的用户将无法获取该文件GET请求。

答案 1 :(得分:1)

根本不安全。确保根本无法访问connection.inc。一些选项(其中一些可以组合),从最简单/最快的实现到实现更多的工作。

  1. 将其重命名为connection.php并确保内容已包装 在<?php标签中。
  2. 如果为1,还会在主页面添加标题重定向(例如index.php)。
  3. 将其放在Web可访问目录之外
  4. 使用.htaccess
  5. 阻止对其的访问
  6. 配置Apache(对于此站点)不提供.inc个文件
  7. 确保MySQL用户和密码有限(只能选择,插入,删除或更新),并且只允许来自此计算机的连接访问它。

答案 2 :(得分:0)

至少将包含您的登录凭据的文件命名为.php扩展名,以及包含所述信息的相应<?php?>标记。理想情况下,您不会将这些凭据保存在任何 Web可访问目录中。只有.php扩展名不是100%万无一失,因为Web服务器配置错误可能会暂时阻止PHP使用解释器解析其脚本或者可能破坏.htaccess文件。

答案 3 :(得分:0)

conncetion.inc在永远不会被执行的意义上是安全的 - 除非您将服务器配置为将.inc文件解释为PHP

如果它位于Web可访问文件夹中,访问者可能会浏览它并查看该文件的内容,因此请不要在其中放置任何密码。

存储(MySQL)密码的好地方是:

  • 在PHP文件中(因为您无法阅读源代码)
  • 在网络根目录之外
  • 在被Apache阻止的文件中(如.ht#)。您可以添加自定义拒绝块。