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

PHPでeval()関数を無効にする方法の例

高洛峰
高洛峰オリジナル
2016-12-30 10:39:431579ブラウズ

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() を無効にすることはできません。

eval() は関数ではなく言語構造であるため

eval は zend であるため、PHP_FUNCTION 関数ではありません

それでどうなるでしょうか。 php について eval を禁止するとどうなるでしょうか?

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

Suhosin をインストールした後、php.ini に Suhosin.so をロードし、suhosin.executor.disable_eval = on を追加します

読んでいただきありがとうございます、お役に立てれば幸いです皆さん、このサイトを応援していただきありがとうございます!

PHP の eval() 関数を無効にする方法の例と関連記事の詳細については、PHP 中国語 Web サイトに注目してください。

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