宝塔面板安装的PHP没有默认隐藏版本号,比如说这样的:
因此,隐藏PHP版本号及PHP服务真的可以解决一些麻烦!可以说是非常的好用!所以VPS科普网就在这篇文章来唠叨下如何隐藏PHP版本号以及一些PHP常见危险函数的禁用。
一:隐藏PHP版本号
宝塔面板PHP管理找到expose_php = On
改成expose_php = Off
即可:
保存并重启PHP 即可!我们在看下Web服务器头,如下:
这样我们就可以隐藏了PHP版本号。
二:NINGX版本号隐藏
宝塔面板至全系默认都是已经隐藏了NINGX版本号,如果你的的没有隐藏或者因为某种原因更改过了规则,我们添加server_tokens off
来更改。如下:
http{ ……省略 limit_conn_zone $binary_remote_addr zone=perip:10m; limit_conn_zone $server_name zone=perserver:10m; server_tokens off; access_log off; ……省略 }
设置好重启Nginx,之后我们可以用命令测试下:
curl -I
丢一张图看看效果:
看到PHP版本号和Nginx版本号都被隐藏,宝塔面板默认是隐藏了,如果是别的面板或者命令环境可以参考这里。
三:危险函数
宝塔面板PHP管理中有危险函数的管理,PHP管理→禁用函数,如下:
这面板够贴心吧,连常用的危险函数已经默认给我们禁用了,如果你还有别的函数要禁用可以在上面添加保存。如果你需要用某些功能,那可以删除禁用函数,让其变的可用。
建议在主机上禁用的函数:
disable_functions = system,exec,Shell_exec,passthru,proc_open,proc_close, proc_get_status,checkdnsrr,getmxrr,getservbyname,getservbyport, syslog,popen,show_source,highlight_file,dl,socket_listen,socket_create,socket_bind,socket_accept, socket_connect, stream_socket_server, stream_socket_accept,stream_socket_client,ftp_connect, ftp_login,ftp_pasv,ftp_get,sys_getloadavg,disk_total_space, disk_free_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
打开,找到这行:disable_functions =
在后面那里加上要禁用的函数,如禁用多个函数,要用半角逗号 , 分开。
宝塔面板只是把这些变得可视化了,我们看看宝塔面板的这一段禁用的源代码,路径:/www/server/php/72/etc/
这个函数问题自己酌情对待吧。
四:总结
宝塔面板默认是没有隐藏PHP版本号的,Nginx版本号是默认隐藏的,常用的危险函数是默认禁用的。
所以我们只需要把PHP版本号隐藏即可,还有一个地方值得注意:新建网站的默认要删除,因为泄露的信息太多了。