一、简介
一般而言,隐藏是实现安全的最脆弱方式之一。但在某些情况下,每一点额外的安全都是值得的。虽然隐藏措施可能对初级攻击者有效,但对于有经验的攻击者来说,隐藏并不能提供真正的安全保障。因此,仅仅依赖隐藏措施来保护系统是不可取的。
对于提高安全性,确保系统的硬件和软件组件都是最新的、及时修补已知漏洞、使用强密码、实施访问控制、加密敏感数据以及定期备份等措施更为重要。综合使用多种安全措施,才能更好地保护系统免受攻击。
有一些简单的方法可以帮助隐藏 PHP,这可能会增加系统的安全性,但并不能完全保护系统免受攻击。通过在 php.ini 文件中设置 expose_php 为 off,可以减少能获得的有用信息,从而使攻击者难以确定网站使用的是 PHP。
另一个策略是配置 web 服务器(例如 apache)通过 PHP 解析不同的文件类型, 无论是通过 .htaccess 文件还是 apache 的配置文件,都可以设置能误导攻击者的文件扩展名:
二、隐藏为另一种语言
# 使 PHP 代码看起来像其他代码类型 AddType application/x-httpd-php .asp .py .pl 或者干脆彻底隐藏它: 示例 #2 使用未知的扩展名作为 PHP 的扩展名 # 使 PHP 代码看起来像未知的类型 AddType application/x-httpd-php .bop .foo .133t 或者隐藏它为 HTML 代码,这样会有轻微的性能影响,因为所有的 HTML 都将通过 PHP 引擎进行解析: 示例 #3 使用 HTML 作为 PHP 扩展名 # 使所有的 PHP 代码看起来像 HTML AddType application/x-httpd-php .htm .html
要让此方法生效,必须把 PHP 文件的扩展名改为以上的扩展名。这样就通过隐藏来提高了安全性,这是一个小的预防措施,几乎没有缺点。
三、隐藏扩展名
1、使用未知的扩展名作为 PHP 的扩展名
# 使 PHP 代码看起来像未知的类型 AddType application/x-httpd-php .bop .foo .133t 或者隐藏它为 HTML 代码,这样会有轻微的性能影响,因为所有的 HTML 都将通过 PHP 引擎进行解析:
2、使用 HTML 作为 PHP 扩展名
# 使所有的 PHP 代码看起来像 HTML AddType application/x-httpd-php .htm .html