如何彻底关闭php5.x版本中eval函数的使用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计432个文字,预计阅读时间需要2分钟。
本次我们来探讨如何禁止PHP代码中执行`eval`函数。传统上,我们通过直接修改`php.ini`中的`disable_function`来禁止`eval`。然而,实际情况往往并非如此简单。了解了一下GG,发现原本的`eval`并非函数,而是PHP底层提供的一种特性。
这次我们来说如何禁止php代码中执行eval函数,本来以为直接修改php.ini中的disable_function即可~
但现实往往并不是那么如意,查了一下GG,发现原来eval并非函数,而是php底层提供的一种特性。
幸好有前辈提供了php扩展来禁用万恶的eval: suhosin
一开始发现是需要给php打补丁,我是拒绝的,但确实没有找到更好的方法。不过实际安装下来,真的很方便:
yum install wget make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutils patch perl cd /usr/local/src wget download.suhosin.org/suhosin-对应的版本.tgz tar zxvf suhosin-对应的版本.tgz cd suhosin-对应的版本 /usr/bin/phpize ./configure --with-php-config=/usr/bin/php-config make & make install
编译完后会提示你库文件的位置,例如: /usr/lib64/php/modules
我们只需要在php.ini中增加对应的扩展即可:
extension=/usr/lib64/php/modules/suhosin.so suhosin.executor.disable_eval=On
重启php-fpm进程后,就可以在phpinfo中看到suhosin扩展已经装好了~
仔细看增加的配置项,其实很多控制的点,得慢慢研究啊~
总结
以上所述是小编给大家介绍的php5.x禁用eval的操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对易盾网络网站的支持!
本文共计432个文字,预计阅读时间需要2分钟。
本次我们来探讨如何禁止PHP代码中执行`eval`函数。传统上,我们通过直接修改`php.ini`中的`disable_function`来禁止`eval`。然而,实际情况往往并非如此简单。了解了一下GG,发现原本的`eval`并非函数,而是PHP底层提供的一种特性。
这次我们来说如何禁止php代码中执行eval函数,本来以为直接修改php.ini中的disable_function即可~
但现实往往并不是那么如意,查了一下GG,发现原来eval并非函数,而是php底层提供的一种特性。
幸好有前辈提供了php扩展来禁用万恶的eval: suhosin
一开始发现是需要给php打补丁,我是拒绝的,但确实没有找到更好的方法。不过实际安装下来,真的很方便:
yum install wget make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutils patch perl cd /usr/local/src wget download.suhosin.org/suhosin-对应的版本.tgz tar zxvf suhosin-对应的版本.tgz cd suhosin-对应的版本 /usr/bin/phpize ./configure --with-php-config=/usr/bin/php-config make & make install
编译完后会提示你库文件的位置,例如: /usr/lib64/php/modules
我们只需要在php.ini中增加对应的扩展即可:
extension=/usr/lib64/php/modules/suhosin.so suhosin.executor.disable_eval=On
重启php-fpm进程后,就可以在phpinfo中看到suhosin扩展已经装好了~
仔细看增加的配置项,其实很多控制的点,得慢慢研究啊~
总结
以上所述是小编给大家介绍的php5.x禁用eval的操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对易盾网络网站的支持!

