我需要避免黑客在php中使用echo $db_username
来查看编码的配置文件,方法是创建new.php
并添加:
include"/home/user/public_html/config.php";
echo $db_host;
echo $db_username;
echo $db_password;
echo $db_name;
我为apache安装了mod_security,你能给我规则来避免这种情况吗?
答案 0 :(得分:0)
出于安全原因,没有人可以从远程地址包含您的文件。您只需要检查php.ini
文件中allow_url_include
设置为OFF(默认情况下已经设置为关闭,但以防万一)。
如果有人试图从远程地址包含您的文件,当allow_url_include
设置为OFF时,他将收到此错误:
警告:include():http://在服务器配置中通过第x行上的/Path/To/file.PHP中的allow_url_include = 0禁用包装器
警告:include(http://www.yourserver.com/dir/config.php):无法打开流:在第x行的/Path/To/file.PHP中找不到合适的包装
警告:include():无法在第x行的/Path/To/file.PHP中打开“http://www.yourserver.com/dir/config.php”(include_path ='。; INCLUDE_PATH')
编辑:看,您无法100%保护您的网站,即使Facebook不像您想象的那么“安全”,例如:eBay was hacked in 21.5.14。你可以做的就是尽力保护一切能够让黑客真正努力控制你的系统的东西。在这里你可以看到很多攻击(并非所有攻击都是基于网络的攻击),阅读它们,所有攻击都有解决方案。 Owasp attacks page。如果您的网站受到适当保护,黑客将无法控制您的系统,他们将无法访问您的document_root
,也无法读取您的配置文件。
答案 1 :(得分:-2)
轻松放置:您应该将配置文件放在html-root之外以获得最佳安全性。你不应该担心有人创建一个新的PHP文件。您应该担心有人访问您的服务器。