通过隐藏后缀使 PHP 更加安全
Posted by 撒得一地 on 2016年6月15日 in PHP笔记
一般情况下,通过隐匿性来实现安全是安全防护环节中比较弱的形式之一。假设我要利用一个网站,我不会检查该网站是采用哪种语言来运行的,因为我所关心的是如何利用它。通过隐藏你使用的程序语言并不能阻止我绕过安全性差的漏洞。但在某些情况下,多一些额外的安全性防护也是可取的。
一些简单的技巧可以帮助隐藏 PHP 后缀,这可能放缓攻击者正试图在您的系统中发现弱点的速度。通过在 php.ini 文件中将 expose_php 设置为 off,这减少了外界能获取你站点的信息量。
另一个策略比如通过 Apache 服务器来将 PHP 解析为其它类型后缀,你可以使用 .htaccess 指令,或者直接在 Apache 配置文件中进行配置。然后,可以使用具有误导性的文件扩展名︰
将 PHP 隐藏修改为另一种语言︰
AddType application/x-httpd-php .asp .py .pl
或者干脆彻底隐藏它。
使用未知的文件类型作为 PHP 的扩展︰
AddType application/x-httpd-php .bop .foo .133t
或将 PHP 隐藏为 HTML 代码,不过这有点性能损失,因为所有的 HTML 都能通过 PHP 引擎进行解析︰
使用HTML 类型作为 PHP 扩展︰
AddType application/x-httpd-php .htm .html
这为了能使 PHP 正常有效的运行,您必须将 PHP 文件重命名为上述修改后的扩展名。虽然它是通过隐匿性来实现安全的一种形式,不过也带来了一些小麻烦,需要重新修改后文件缀才能运行。