>  기사  >  백엔드 개발  >  php_php 예제에서 eval() 함수 예제를 비활성화하는 방법

php_php 예제에서 eval() 함수 예제를 비활성화하는 방법

WBOY
WBOY원래의
2016-12-05 13:28:221124검색

php eval() 함수는 배열에서 작동합니다.

<&#63;php
$data = "array('key1'=>'value1','key2'=>'value2','key3'=>'value3','key4'=>'value4')";
$arr = eval("return $data;");
var_dump($arr); //array
&#63;>

실행 결과:

array(4) { ["key1"]=> string(6) "value1" ["key2"]=> string(6) "value2" ["key3"]=> string(6) "value3" ["key4"]=> string(6) "value4" }


인터넷의 많은 사람들은 eval을 비활성화하기 위해 비활성화 기능을 사용하는 것이 잘못되었다고 말합니다!

실제로 php.ini의 비활성화 함수를 사용하여 eval()을 비활성화할 수 없습니다.

eval()은 함수가 아니라 언어 구성이기 때문입니다

eval은 zend이므로 PHP_FUNCTION 함수가 아닙니다.

그렇다면 PHP에서 eval을 비활성화하는 방법은 무엇입니까?

평가를 비활성화하려면 PHP 확장 Suhosin을 사용할 수 있습니다:

수호신 설치 후 php.ini에 Suhosin.so를 로딩하고 suhosin.executor.disable_eval = on을 추가하세요

읽어주셔서 감사합니다. 도움이 되기를 바랍니다. 이 사이트를 지원해 주셔서 감사합니다!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.