我似乎无法得到一个直接的答案,所以希望有人可以提供帮助.
如果我在我的PHP脚本中包含mysqli_connect()语句并且还包含我的MySQL用户名和密码,那么这些细节在任何时候都是易受攻击的吗?显然,PHP括号之间的任何内容都不会在客户端提供(因此在查看源代码时不应该是可见的)但是有没有其他方式可以破坏这些细节?
解决方法:
如果由于某种原因,PHP突然不起作用(由于升级,损坏的配置文件,例如),文件可能会作为HTML提供,登录信息将免费提供给任何访问该网站的人.我以前见过这种情况.
解决此问题的最佳方法是将所有内容移出您的webroot,除了index.php文件,该文件只包含目录之外的一个文件.这也意味着您的源代码不会受到损害,假设PHP不起作用.
例如. / var / www / public_html只保存一个文件:index.php:
<?php require("../entrypoint.php");
然后其他所有内容都位于/ var / www中.如果PHP失败,则只会损害index.php.
这将使其完全安全,除非您的服务器本身受到损害或您允许用户执行PHP代码,但这是另一个问题.大多数模块化CMS在初始化连接后也取消设置所有连接变量,以避免其中一个模块意外暴露任何内容.