隐藏PHP 还能够把你在使用PHP 来驱动网站的这一事实隐藏起来,或者至少不那么明显。使用expose_php指令就能避免将php版本信息追加到Web 服务器签名的最后。不容许访问phpinfo()能够防止攻击者获得你的软件版本号和其余重要信息。经过改变文档扩展名,使得这些页面映射到PHP 脚本不容易被看出来。 1.expose_php=On|Off 做用域:PHP_INI_SYSTEM;默认值:On。 启用时,PHP指令expose_php将细节追加到服务器签名后面。例如,若是启用了ServerSignature,ServerTokens设置为Full,而且启用了此指令,服务器签名档有关部分以下: Apache/2.0.44(Unix) DAV/2 PHP/5.0.0b3-dev Server at www.example.com Port 80 若是expose_php被禁用,则服务器签名以下所示: Apache/2.0.44(Unix) DAV/2 Server at www.example.com Port 80 2.删除phpinfo() 调用的全部实例 phpinfo()函数提供了一个很棒的工具,可用于在指定服务器上查看PHP 配置的总结。可是,因为在服务器上未加保护,这些文件对于攻击者来讲实可谓是一个金矿。例如,这个函数能生成操做系统、PHP 和Web 服务器版本、配置标志的有关信息,还能生成关于全部可用扩展及其版本的详细报告。若是容许攻击者访问此信息,就更有可能发现并利用潜在的攻击漏洞。 遗憾的是,彷佛许多开发人员没有意识到或不关心这些漏洞,由于只要在搜索引擎中键入phpinfo.php,将获得大约336 000 个结果,其中不少连接直接指向执行phpinfo()命令的文件,于是提供了关于服务器的大量信息。对于早期脆弱的PHP 版本。只需快速地修改搜索条件,加入其余关键词,就能获得原来结果的一个子集,而这将成为攻击的主要对象,由于他们使用了已知不安全的PHP 、Apache 、IIS版本和各类所支持的扩展。 容许其余人查看phpinfo()的结果,这实质上至关于向公众提供一个路线图,其中列出了你的服务器的许多技术特性和缺陷。不要仅仅由于懒惰未能删除或保护这个文件而成为攻击的牺牲品。 3.修改文档扩展名 启用PHP的文档通常经过其独特的扩展名就能识别,最多见的包括.php、php3 和.phtml 。你知道这能够很容易地改成你但愿的其余扩展名吗?甚至能够改为是.html、.asp或者.jsp?,为此只要在httpd.conf 文件中修改以下一行: Addtype application/x-httpd-php .php 添加所但愿的任何扩展名,例如: AddType application/x-httpd-php .asp 固然,要确保这不会致使与其余安装的服务器技术相冲突。