php如何禁用eval函數
php的eval函數并不是系統(tǒng)組件函數,因此我們在php.ini中使用disable_functions是無法禁止它的。以下是小編為大家搜索整理的PHP如何禁用eval函數,希望能給大家?guī)韼椭?更多精彩內容請及時關注我們應屆畢業(yè)生考試網!
php eval() 函數操作數組:
$data = "array('key1'=>'value1','key2'=>'value2','key3'=>'value3','key4'=>'value4')";
$arr = eval("return $data;");
var_dump($arr); /pic/p>
?>
運行結果:
array(4) { ["key1"]=> string(6) "value1" ["key2"]=> string(6) "value2" ["key3"]=> string(6) "value3" ["key4"]=> string(6) "value4" }
網上很多說使用disable_functions禁止掉eval的方法都是錯誤的!
其實eval()是無法用php.ini中的disable_functions禁止掉的 :
because eval() is a language construct and not a function
eval是zend的,因此不是PHP_FUNCTION 函數;
那么php怎么禁止eval呢?
如果想禁掉eval可以用php的擴展 Suhosin:
安裝Suhosin后在php.ini中l(wèi)oad進來Suhosin.so,再加上suhosin.executor.disable_eval = on即可
【相關閱讀】
PHP框架是什么
PHP作為網絡開發(fā)的強大語言之一,現在應用非常廣泛,具有開放源代碼,跨平臺性強,開發(fā)快捷,效率高,面向對象,并且易于上手,專業(yè)專注等諸多優(yōu)點。各種PHP開發(fā)框架也讓程序開發(fā)變的簡單有效
框架就是通過提供一個開發(fā)Web程序的基本架構,PHP開發(fā)框架把PHPWeb程序開發(fā)擺到了流水線上。換句話說,PHP開發(fā)框架有助于促進快速軟件開發(fā)(RAD),這節(jié)約了你的時間,有助于創(chuàng)建更為穩(wěn)定的程序,并減少開發(fā)者的重復編寫代碼的勞動。這些框架還通過確保正確的數據庫操作以及只在表現層編程的方式幫助初學者創(chuàng)建穩(wěn)定的程序。PHP開發(fā)框架使得你可以花更多的.時間去創(chuàng)造真正的Web程序,而不是編寫重復性的代碼。
【php如何禁用eval函數】相關文章:
需要禁用的PHP危險函數有哪些02-24
如何用php構造函數的小例子11-17
PHP如何自定義一個函數10-28
php常用的系統(tǒng)函數12-17
PHP常用函數總結03-10
PHP數組函數知識10-13
PHP內部函數的定義01-23
PHP函數的區(qū)別及用法12-15
PHP類與構造函數11-09