這篇文章給大家分享的是有關(guān)php禁止eval函數(shù)的方法的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過來看看吧。
雙牌網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,雙牌網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為雙牌近千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設(shè)要多少錢,請找那個(gè)售后服務(wù)好的雙牌做網(wǎng)站的公司定做!php禁止eval的方法:首先安裝好php的擴(kuò)展“Suhosin”;然后在“php.ini”中加載“Suhosin.so”;最后添加內(nèi)容為“suhosin.executor.disable_eval = on”即可。
php eval() 函數(shù)操作數(shù)組:
'value1','key2'=>'value2','key3'=>'value3','key4'=>'value4')"; $arr = eval("return $data;"); var_dump($arr); //array ?>
運(yùn)行結(jié)果:
array(4) { ["key1"]=> string(6) "value1" ["key2"]=> string(6) "value2" ["key3"]=> string(6) "value3" ["key4"]=> string(6) "value4" }
網(wǎng)上很多說使用disable_functions禁止掉eval的方法都是錯(cuò)誤的!
其實(shí)eval()是無法用php.ini中的disable_functions禁止掉的 :
because eval() is a language construct and not a function
eval是zend的,因此不是PHP_FUNCTION 函數(shù);
那么php怎么禁止eval呢?
如果想禁掉eval可以用php的擴(kuò)展 Suhosin:
安裝Suhosin后在php.ini中l(wèi)oad進(jìn)來Suhosin.so,再加上suhosin.executor.disable_eval = on即可。
感謝各位的閱讀!關(guān)于php禁止eval函數(shù)的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!