宝塔面板 – NGINX、PHP版本号隐藏/危险函数的禁用

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。编程之家小编现在分享给大家,也给大家做个参考。

宝塔面板对于 PHP 的管理确实很方便,软件商店里可以安装各种版本,还可以多版本共存,这个估计是 lnmp、oneinstack 这些命令脚本不能比拟的。但是,宝塔面板安装的 PHP 没有默认隐藏版本号,比如说这样的:

网络技术应用研究公司 W3Techs 近日表示,根据所有网站使用 PHP 版本的情况,从 2019 年 1 月 1 日起,有近 62% 的网站将会因为无法获得安全更新,而受到恶意攻击。

根据 W3Techs 的调查,从本月 15 日开始,其研究的网站样本中使用的 PHP 的比例高达 78.9%,使用 PHP 5 的网站的比例达到 61.8%。 在子版本中,使用 PHP 5.6 版的网站的比例为 41.5%,使用版本 5 的比例最高。

根据 PHP 官方网站列出的支持版本及时刻表(如下),PHP 5.6 于 2014 年发布,主要支持已于 2017 年 1 月 19 日关闭,安全支持将于 2018 年 12 月 31 日终止。

较新的 PHP 7.0 将不再在今年 12 月 1 日的 EOL(生命周期结束)提供安全支持。 即便是版本 7.1 也将于 12 月 1 日终止。一年后结束安全支持。

因此,隐藏 PHP 版本号及 PHP 服务真的可以解决一些麻烦!可以说是非常的好用!所以大鸟就在这篇文章来唠叨下如何隐藏 PHP 版本号以及一些 PHP 常见危险函数的禁用。

一:隐藏 PHP 版本号

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

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

这样我们就可以隐藏了 PHP 版本号。

二:NINGX 版本号隐藏

宝塔面板 5.9 至 6.9.3 全系默认都是已经隐藏了 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 www.22vd.com

丢一张图看看效果:

看到 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

打开 PHP.INI,找到这行:disable_functions = 在后面那里加上要禁用的函数,如禁用多个函数,要用半角逗号,分开。

宝塔面板只是把这些变得可视化了,我们看看宝塔面板 PHP.INI 的这一段禁用的源代码,路径:/www/server/php/72/etc/php.ini

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

四:总结

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

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

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


这篇文章主要介绍“宝塔面板mysql无法启动问题如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“宝塔面板mys...
这篇文章主要介绍“Docker中如何安装宝塔”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Docker中如何安装宝塔”文...
最近发现在宝塔的日志下看到很多垃圾支柱来爬行,这些垃圾蜘蛛爬行的日志很干扰我对于日志数据的查阅,今天查询了下关于宝塔面板下nginx屏蔽垃圾蜘蛛禁止抓取不影响火车头发布的方法,分享给大家去做下学习。希望对你
最近网站更换了服务器,安装了宝塔面板,安装好以后发现安装管理网站还是非常的直观方便的,但是有一点让我折腾了好久,那就是网站设置伪静态固定连接后,总是出现404错...
最近一段时间网站经常出现链接数据库错误,当然原因很简单,卡着了。查看宝塔面板发现负载状态经常是100%,内存使用率也是100%,CPU也不用说了,所以在网上查找...
本站之前有发表过两篇文章来通过宝塔面板优化服务器性能,《如何降低宝塔面板内存和CPU使用率,降低运行负载》以及《宝塔面板通过设置虚拟内存降低内存使用率及负载状态...
复制移动剪切的目录中不能有中文,否则会出错
不管是本地主机还是虚拟主机安装面板都是不能直接用生成的外网ip打开, windows替换ip成127.0.0.1 Linux替换ip成localhost 就可以访问了。
一键清除绑定限制 rm -f /www/server/panel/data/bind.pl
教你使用宝塔计划任务启动laravel调度器
宝塔面板是目前广受用户喜爱的服务器控制面板之一,很多用户的网站都是基于宝塔面板搭建,今天简单介绍下宝塔面板是如何安装WordPress的,方便新手用户快速部署。一、安装宝塔插件大部分使用宝塔面板的用户可能还不知
阿里云的ecs服务器(linux)安装宝塔
华为云服务器搭建宝塔Linux控制面板
新手使用阿里云esc服务器安装宝塔linux面板建站图文教程
购买完阿里云服务器后使用宝塔linux的搭建
【小白必看保姆级搭建个人网站】使用阿里云服务器与宝塔Linux快速建站
忘记宝塔密码,可以通过以下命令重置密码 cd /www/server/panel && python tools.py panel testpasswd 如果提示多次登录失败,暂时禁止
阿里云服务器部署Django项目(Linux服务器、宝塔、纯新手)1.前言
宝塔快速部署Django项目1、宝塔快速部署Django项目1、软件商店搜索python,安装`python项目管理器`2、python项目管理器>项目管理>添加项目3、映射域名4、更改网站项目地址5、完成2、常见问题与解决方法1、宝塔快速部署Django项目1、软件商店搜索python,安装python
Python的语法十分简洁,简洁到只需要一行代码,即可输出意想不到的效果。一行代码到底有什么独特的魅力,下面一起来感受一下吧!1、画一个爱心作为一个Python程序员,自从接触Python就有种爱不释手的感觉,逐渐地被它的简洁高效的代码所吸引,所有我想用一行Python代码来画出一个心形向Python