php禁用eval函数笔记!
disable_functions
禁止掉eval函数的方法是错误的,并不能真正禁止!
php5版本安装Suhosin防护PHP一句话木马eval!下载扩展源码:https://www.suhosin.org/stories/download.html
wget http://download.suhosin.org/suhosin-0.9.38.tar.gz #获取扩展包
tar -zxvf suhosin-0.9.38.tar.gz#解压
/www/server/php/56/bin/phpize #当前php的phpize的路径
./configure --with-php-config=/www/server/php/56/bin/php-config
make && make install
make test
cd /www/server/php/56/lib/php/extensions/no-debug-non-zts-20131226/ #查看
cd /www/server/php/56/etc/
echo "extension = oauth.so" >> /www/server/php/56/etc/php.ini #写配置
/www/server/php/56/bin/php -m #查看安装扩展列表
(重载php后phpinfo()查看扩展是否安装成功)
在extension=suhosin.so
后面加一行代码 suhosin.executor.disable_eval = on
来禁止eval
函数。
php7.4版本:
git clone https://github.com/sektioneins/suhosin7.git
,发现suhosin7不支持。
make && make install
时候报错,Suhosin7 works with PHP 7.0 and 7.1 only!
[root@xxx suhosin7]# make && make install
/bin/sh /root/suhosin7/libtool --mode=compile cc -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -I. -I/root/suhosin7 -DPHP_ATOM_INC -I/root/suhosin7/include -I/root/suhosin7/main -I/root/suhosin7 -I/www/server/php/74/include/php -I/www/server/php/74/include/php/main -I/www/server/php/74/include/php/TSRM -I/www/server/php/74/include/php/Zend -I/www/server/php/74/include/php/ext -I/www/server/php/74/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -std=c11 -c /root/suhosin7/suhosin7.c -o suhosin7.lo
mkdir .libs
cc -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -I. -I/root/suhosin7 -DPHP_ATOM_INC -I/root/suhosin7/include -I/root/suhosin7/main -I/root/suhosin7 -I/www/server/php/74/include/php -I/www/server/php/74/include/php/main -I/www/server/php/74/include/php/TSRM -I/www/server/php/74/include/php/Zend -I/www/server/php/74/include/php/ext -I/www/server/php/74/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -std=c11 -c /root/suhosin7/suhosin7.c -fPIC -DPIC -o .libs/suhosin7.o
In file included from /root/suhosin7/suhosin7.c:31:0:
/root/suhosin7/php_suhosin7.h:27