Linux维护安全-PHP安全-php高危函数禁用-php必需禁用的最高危函数总结-必禁

news2025/1/4 17:32:37

Linux维护安全-PHP安全-php高危函数禁用-php必需禁用的最高危函数总结,优雅草松鼠蜻蜓系统安装必须开启proc_open,putenv,但是希望大家在安装完成后一定要禁用。

必须禁用的高危函数:

system,exec,passthru,shell_exec,popen,proc_open,putenv

分别说说这几个函数:

php提供了system(),exec(),passthru()这几个函数来调用外部的命令.

区别:
system() 输出并返回最后一行shell结果。
exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。
passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。
相同点:都可以获得命令执行的状态码

shell_exec()

功能描述:通过 Shell 执行命令,并将执行结果作为字符串返回。

proc_open()

功能描述:执行一个命令并打开文件指针用于读取以及写入。

关于putenv函数

在PHP中可以查看的环境变量包括:

电脑环境变量

服务器环境变量

getenv()函数获取一个环境变量的值.参数1是环境变量的key,参数2值为true的时候仅从你的电脑环境变量中查找,参数2值为false会从两种变量中全部查询

//获取我电脑登录的用户名,输出Administrator
$username = getenv('USERNAME');
var_dump($username);

putenv()函数设置环境变量的值,设置后新增到服务器环境变量

//设置环境变量PHPUSERNAME的值为gaojiufeng
putenv('PHPUSERNAME=gaojiufeng');

禁用方法:

1,编辑php.ini

【disable_functions】

disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv

在后面添加这几项即可。

2,如有宝塔直接在禁用函数处删除。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/542085.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

国考省考行测:数量关系,十字交叉法,增长率反应去年的量,浓度反应的是浓液,平均反应的是人数

国考省考行测:十字交叉法 2022找工作是学历、能力和运气的超强结合体! 公务员特招重点就是专业技能,附带行测和申论,而常规国考省考最重要的还是申论和行测,所以大家认真准备吧,我讲一起屡屡申论和行测的重要知识点 遇…

3网络互联-3.5【实验】【计算机网络】

3网络互联-3.5【实验】【计算机网络】 前言推荐3网络互联3.4 IP分组转发与静态路由3.5 动态路由配置及RIP协议分析实验目的实验内容及实验环境实验原理1. RIP协议2.RIP分组格式3.RIP协议工作原理 实验过程1.搭建一个多跳网络拓扑,配置RIP协议参数2&#…

【ONE·C++ || 哈希(一)】

总言 主要介绍哈希基本框架及其unordered系列容器简述。 文章目录 总言0、思维导图1、unordered系列介绍2、底层:哈希2.1、哈希概念介绍:哈希(散列)函数和哈希表(散列表)2.2、映射关系建立与问题说明:除留余数法、哈希冲突2.3、闭散列及其实…

企业邮箱解析:为何它是企业必备的高效沟通工具?

企业家都知道,一个一致的品牌可以提高它在人们心中的可靠性。这就是为什么大多数企业投资于他们的网络和企业邮箱提供商的原因,可以体现品牌正规性。 企业邮箱为您提供与您的域名匹配的企业电子邮件(nameyourbusiness.com)。它还为您提供: 1、…

【HelloWorld篇】深入学习Spring-Boot

前言 该专栏用来记录一下深入学习SpringBoot,了解SpringBoot如何扩展、如何自定义编写属于自己的start,了解 AOP,IOC,过滤器,拦截器,注解,定时器等实际开发用到的场景以及如何整合第三方&#…

Vivado综合属性系列之六 MAX_FANOUT

目录 一、前言 二、MAX_FANOUT ​ ​2.1 工程代码 ​ ​2.2 工程结果 ​ 一、前言 ​ ​在时序违例的工程中,有一个很常见的原因:高扇出,此时就需要降低信号的扇出,可通过属性MAX_FANOUT来控制信号的扇出值&#xff…

32.Git分布式版本控制

目录 一、Git分布式版本控制。 (1)Git简介。 (2)Git工作流程图。 (3)Git安装。 (4)Git基本配置。 (4.1)用户信息配置(不一定是真实的信息&a…

RK3568平台开发系列讲解(项目篇)手写数字识别

🚀返回专栏总目录 文章目录 一、安装飞桨(PaddlePaddle)二、手写数字识别任务2.1、准备训练集和测试集2.2、模型组网2.3、模型训练与评估2.4、模型保存和导出ONNX模型2.5、完整程序2.6、模拟推理和导出RKNN模型三、板端部署推理3.1、安装RKNN Toolkit Lite2和相关库3.2、推…

从零开始学习JVM(五)-运行时数据区的方法区

1. 方法区基本介绍 官方文档:The Java Virtual Machine Specification 《Java虚拟机规范》中明确说明:“尽管所有的方法区在逻辑上是属于堆的一部分,但一些简单的实现可能不会选择去进行垃圾收集或者进行压缩。”但对于HotSpotJVM而言&…

手写简易RPC框架

目录 简介 服务提供者 服务注册:注册中心 HttpServerHandler处理远程调用请求 consumer服务消费端 简介 RPC(Remote Procedure Call)——远程过程调用,它是一种通过网络从远程计算机程序上请求服务, 而不需要了解…

我在VScode学Java(Java二维数组)

我的个人博客主页:如果\真能转义1️⃣说1️⃣的博客主页 关于Java基本语法学习---->可以参考我的这篇博客:(我在Vscode学Java) 接上回Java一维数组的介绍(我在VScode学Java(Java一维数组) ) 二维数组是Java中的一…

MySQL:数据库的约束

目录 1.数据库约束 1.1 非空:not null 1.2 唯一:unique ​​​​​​​ 1.3 默认值:default 1.4 列描述:comment 1.5 主键约束:primary key 1.6 外键约束 1.7 综合案例 2.插入查询结果 3.聚合函数 4.group by…

AI心理咨询师:舒缓焦虑,解放压力的秘诀

在如今高压力的生活和工作环境下,焦虑和内耗成为了越来越多人的问题。这一现象对我们的身体和心理都会造成很大的影响。如何治愈我们的焦虑和精神内耗? 1.减少工作压力 - 了解和认可自己的能力和限制,不要让工作压力压垮自己。 - 适当的规…

软件测试工程师的职业发展方向

一、软件测试工程师大致有4个发展方向: 1 资深软件测试工程师 一般情况,软件测试工程师可分为测试工程师、高级测试工程师和资深测试工程师三个等级。 达到这个水平比较困难,这需要了解很多知识,例如C语言,JAVA语言&#xff0c…

浙大数据结构

题目详情:06-图1 列出连通集 给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。 输入格式: 输入第1…

<数据结构>NO5.栈和队列

目录 栈 Ⅰ.栈的概念 Ⅱ.栈的实现 Ⅲ.测试代码 队列 Ⅰ.队列的概念 Ⅱ.队列的实现 💭前言 栈和队列也是一种常见的线性存储的数据结构,只不过它们的某些操作受到了限制,比如栈只允许从栈顶插入删除元素、队列只允许从队尾插入元素&…

[算法] ArrayList 和 LinkedList 的优缺点比较及使用场景

😚一个不甘平凡的普通人,致力于为Golang社区和算法学习做出贡献,期待您的关注和认可,陪您一起学习打卡!!!😘😘😘 🤗专栏:算法学习 &am…

MySQL高级_第12章_数据库其它调优策略

MySQL高级_第12章_数据库其它调优策略 1. 数据库调优的措施 1.1 调优的目标 尽可能 节省系统资源 ,以便系统可以提供更大负荷的服务。(吞吐量更大) 合理的结构设计和参数调整,以提高用户操作 响应的速度 。(响应速…

使用Visual Studio进行cuda编程配置环境四大坑(附解决方案)

写在前面,用于没有使用过Visual Studio进行cuda编程的同学看,以免在安装环境的时候踩到坑 第一坑:CUDA版本与NVIDIA显卡版本不匹配问题: 安装cuda版本坑,强烈建议看下自己的显卡支持什么版本的cuda,切记不要用最新版…

由浅入深Netty基础知识NIO网络编程

目录 1 非阻塞 vs 阻塞1.1 阻塞1.2 非阻塞1.3 多路复用 2 Selector2.1 创建2.2 绑定 Channel 事件2.3 监听 Channel 事件2.4 select 何时不阻塞 3 处理 accept 事件3.1 事件发生后能否不处理 4 处理 read 事件4.1 为何要 iter.remove()4.2 cancel 的作用4.3 不处理边界的问题4.…