宝塔面板如何隐藏NGINX、PHP版本号?如何禁用危险函数?

2023年 7月 11日 48.6k 0

宝塔面板安装的PHP没有默认隐藏版本号,比如说这样的:

宝塔面板如何隐藏NGINX、PHP版本号?如何禁用危险函数?

  • 网络技术应用研究公司 W3Techs 近日表示,根据所有网站使用 PHP 版本的情况,从 2019 年 1 月 1 日起,有近 62% 的网站将会因为无法获得安全更新,而受到恶意攻击。
  • 根据 W3Techs 的调查,从本月 15 日开始,其研究的网站样本中使用的 PHP 的比例高达 %,使用 PHP 5 的网站的比例达到 %。 在子版本中,使用 PHP 5.6 版的网站的比例为 %,使用版本5的比例最高。
  • 根据 PHP 官方网站列出的支持版本及时刻表(如下),PHP 5.6 于 2014 年发布,主要支持已于2017年1月19日关闭,安全支持将于 2018 年 12 月31 日终止。
  • 较新的 PHP 7.0 将不再在今年 12 月 1 日的 EOL(生命周期结束)提供安全支持。 即便是版本 也将于12 月 1 日终止。一年后结束安全支持。
  • 因此,隐藏PHP版本号及PHP服务真的可以解决一些麻烦!可以说是非常的好用!所以VPS科普网就在这篇文章来唠叨下如何隐藏PHP版本号以及一些PHP常见危险函数的禁用。

    一:隐藏PHP版本号

    宝塔面板PHP管理找到expose_php = On改成expose_php = Off即可:

    宝塔面板如何隐藏NGINX、PHP版本号?如何禁用危险函数?

    保存并重启PHP 即可!我们在看下Web服务器头,如下:

    宝塔面板如何隐藏NGINX、PHP版本号?如何禁用危险函数?

    这样我们就可以隐藏了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

    丢一张图看看效果:

    宝塔面板如何隐藏NGINX、PHP版本号?如何禁用危险函数?

    看到PHP版本号和Nginx版本号都被隐藏,宝塔面板默认是隐藏了,如果是别的面板或者命令环境可以参考这里。

    三:危险函数

    宝塔面板PHP管理中有危险函数的管理,PHP管理→禁用函数,如下:

    宝塔面板如何隐藏NGINX、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/

    宝塔面板如何隐藏NGINX、PHP版本号?如何禁用危险函数?

    这个函数问题自己酌情对待吧。

    四:总结

    宝塔面板默认是没有隐藏PHP版本号的,Nginx版本号是默认隐藏的,常用的危险函数是默认禁用的。

    所以我们只需要把PHP版本号隐藏即可,还有一个地方值得注意:新建网站的默认要删除,因为泄露的信息太多了。

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论