其实eval()是无法用php.ini中的disable_functions禁止掉的
pphp5.4 5.5 5.6 需安装 https://github.com/sektioneins/suhosin那么php怎么禁止eval呢?
如果想禁掉eval可以用php的扩展 Suhosin:
安装Suhosin后在php.ini中引进来Suhosin.so,再加上suhosin.executor.disable_eval = on即可
php 7.X版本需安装 https://github.com/sektioneins/suhosin7
安装suhosin扩展
安装suhosin扩展
[root@lxk ~]# wget https://github.com/sektioneins/suhosin/archive/master.zip
[root@lxk ~]# unzip master.zip
[root@lxk ~]# cd suhosin-master/
[root@lxk suhosin-master]# which phpize
/usr/bin/phpize
[root@lxk suhosin-master]# rpm -qf /usr/bin/phpize #确定phpize为要安装suhosin扩展的php版本
php-cli-5.6.40-1.el7.remi.x86_64
[root@lxk suhosin-master]# phpize
Configuring for:
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226
[root@lxk suhosin-master]# which php-config
/usr/bin/php-config
[root@lxk suhosin-master]# rpm -qf `which php-config` #确定php-config为要安装suhosin扩展的php版本
php-devel-5.6.40-1.el7.remi.x86_64
[root@lxk suhosin-master]# ./configure --with-php-config=/usr/bin/php-config
[root@lxk suhosin-master]# make && make install
[root@lxk suhosin-master]# echo "extension=suhosin.so" >> /etc/php.ini #在配置文件中启用suhosin.so扩展
[root@lxk suhosin-master]# tail -5 /etc/php.ini
; Local Variables:
; tab-width: 4
; End:
extension=suhosin.so
[root@lxk suhosin-master]# systemctl start php-fpm #启动php-fpm
[root@lxk suhosin-master]# php-fpm -m | grep suhosin #查看suhosin扩展是否已加载
suhosin
转载请注明出处。