正在加载...

为了安全起见,最好还是将PHP版本隐藏,以避免一些因PHP版本漏洞而引起的攻击。

1、隐藏PHP版本就是隐藏 “X-Powered-By: PHP/5.2.13” 这个信息。

方法很简单:
编辑php.ini配置文件,修改或加入: expose_php = Off 保存后重新启动Nginx或Apache等相应的Web服务器即可。

[root@bkjz /]# curl -I www.ha97.com
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 20 Jul 2010 05:45:13 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding

已经彻底隐藏了PHP版本。

2、其它几个PHP的基本安全设置:
disable_functions = phpinfo,system,exec,shell_exec,passthru,popen,dl,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source
#该指令接受一个用逗号分隔的函数名列表,以禁用特定的函数。

display_errors = Off
#是否将错误信息作为输出的一部分显示。在最终发布的web站点上,强烈建议你关掉这个特性,并使用错误日志代替。打开这个特性可能暴露一些安全信息,例如你的web服务上的文件路径、数据库规划或别的信息。

allow_url_fopen = Off
#是否允许打开远程文件,建议关闭,如果网站需要采集功能就打开。

safe_mode = On
#是否启用安全模式。打开时,PHP将检查当前脚本的拥有者是否和被操作的文件的拥有者相同,相同则允许操作,不同则拒绝操作。开启安全模式的前提是你的目录文件权限已完全分配正确。

open_basedir = /var/www/html/ha97:/var/www/html/168pc
#目录权限控制,ha97目录中的php程序就无法访问168pc目录中的内容。反过来也不行。在Linux/UNIX系统中用冒号分隔目录,Windows中用分号分隔目录。

另:彻底隐藏Nginx版本号的安全性与方法

(总结)隐藏Apache版本号的必要性与方法

: http://www.ha97.com/2058.html

本文相关评论 - 才 4 条评论
qweee
2010-12-25 18:28:00
Firefox 3.6.13 Firefox 3.6.13 Windows XP Windows XP

open_basedir = /var/www/html/ha97:/var/www/html/168pc
我用了这个,出现404页面去了
注释他就能够正常

我的/var/www/html/有两个目录
aaa和bbb
我aaa现在用
nginx也写了80是他
bbb里面空,nginx没解析,
为什么我添加了这句话open_basedir = /var/www/html/aaa:/var/www/html/bbb
我的网站就进行错误页面?
nginx.conf

server
{
listen 80;
server_name www.***.com;
index index.html index.htm index.php;
root /usr/local/www;(不明白这个root什么意思)
error_page 404 www.***.com/404.index.html

2011-02-12 17:06:13
Google Chrome 9.0.597.98 Google Chrome 9.0.597.98 Windows 7 Windows 7

我晕,你nginx里面设置的网站主目录是 /usr/local/www啊,你添加了open_basedir = /var/www/html/aaa:/var/www/html/bbb
请问主目录相同吗?肯定不能访问啊~

2013-06-13 09:10:51
Google Chrome 27.0.1453.110 Google Chrome 27.0.1453.110 Windows 7 Windows 7

奇怪了,之前设置这个还可以,显示在隐藏不了php版本号。确定expose_php = Off 了。

2016-10-19 16:00:51
Google Chrome 54.0.2840.59 Google Chrome 54.0.2840.59 Windows 7 x64 Edition Windows 7 x64 Edition

学习了!!!