ホームページ  >  記事  >  バックエンド開発  >  PHPでevalを無効にする方法

PHPでevalを無効にする方法

藏色散人
藏色散人オリジナル
2020-08-11 09:42:153295ブラウズ

php で eval を無効にする方法: 最初に php 拡張機能「Suhosin」をインストールし、次に「php.ini」に「Suhosin.so」をロードし、最後にコンテンツ「suhosin.executor.disable_eval = on」を追加します。それ。

PHPでevalを無効にする方法

推奨: 「PHP ビデオ チュートリアル

php eval() 関数は配列で動作します:

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

実行結果:

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

disable_functions を使用して eval を無効にするインターネット上の多くのメソッドは間違っています。

実際には、php.ini の disable_functions を使用して eval() を無効にすることはできません:

because eval() is a language construct and not a function

eval は zend なので、PHP_FUNCTION 関数ではありません;

では、PHP で eval を無効にするにはどうすればよいでしょうか?

eval を無効にしたい場合は、php 拡張機能 Suhosin を使用できます。

Suhosin をインストールした後、php.ini に Suhosin.so をロードし、さらに suhosin.executor.disable_eval =オンにするだけです。

以上がPHPでevalを無効にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。