PHP

php 如何禁用eval()

作者:admin 来源:web交流网 2021-01-29 18:16 浏览:0 我要评论(0)

网上很多说使用disable_functions禁止掉eval的方法都是错误的!其实eval()是无法用php ini中的disable_functions禁止掉的那么php怎么禁止ev

网上很多说使用disable_functions禁止掉eval的方法都是错误的!
其实eval()是无法用php.ini中的disable_functions禁止掉的
那么php怎么禁止eval呢?
如果想禁掉eval可以用php的扩展 Suhosin:
安装Suhosin后在php.ini中引进来Suhosin.so,再加上suhosin.executor.disable_eval = on即可
 
pphp5.4 5.5 5.6 需安装 https://github.com/sektioneins/suhosin
php 7.X版本需安装 https://github.com/sektioneins/suhosin7
安装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

转载请注明出处。

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源;3.作者投稿可能会经我们编辑修改或补充。

网友点评
评论(已有0条评论)
还没有评论,快来抢沙发吧!
新闻
  • 新闻
  • 软件
精彩导读