- 相關(guān)推薦
php如何禁用eval函數(shù)
php的eval函數(shù)并不是系統(tǒng)組件函數(shù),因此我們?cè)趐hp.ini中使用disable_functions是無法禁止它的。以下是小編為大家搜索整理的PHP如何禁用eval函數(shù),希望能給大家?guī)韼椭?更多精彩內(nèi)容請(qǐng)及時(shí)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!
php eval() 函數(shù)操作數(shù)組:
$data = "array('key1'=>'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框架是什么
PHP作為網(wǎng)絡(luò)開發(fā)的強(qiáng)大語言之一,現(xiàn)在應(yīng)用非常廣泛,具有開放源代碼,跨平臺(tái)性強(qiáng),開發(fā)快捷,效率高,面向?qū)ο螅⑶乙子谏鲜郑瑢I(yè)專注等諸多優(yōu)點(diǎn)。各種PHP開發(fā)框架也讓程序開發(fā)變的簡(jiǎn)單有效
框架就是通過提供一個(gè)開發(fā)Web程序的基本架構(gòu),PHP開發(fā)框架把PHPWeb程序開發(fā)擺到了流水線上。換句話說,PHP開發(fā)框架有助于促進(jìn)快速軟件開發(fā)(RAD),這節(jié)約了你的時(shí)間,有助于創(chuàng)建更為穩(wěn)定的程序,并減少開發(fā)者的'重復(fù)編寫代碼的勞動(dòng)。這些框架還通過確保正確的數(shù)據(jù)庫(kù)操作以及只在表現(xiàn)層編程的方式幫助初學(xué)者創(chuàng)建穩(wěn)定的程序。PHP開發(fā)框架使得你可以花更多的時(shí)間去創(chuàng)造真正的Web程序,而不是編寫重復(fù)性的代碼。
【php如何禁用eval函數(shù)】相關(guān)文章:
需要禁用的PHP危險(xiǎn)函數(shù)有哪些07-02
PHP類與構(gòu)造函數(shù)07-01
PHP常用函數(shù)匯總05-22
PHP常用函數(shù)總結(jié)03-10