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

高洛峰
リリース: 2023-03-04 12:52:02
オリジナル
1622 人が閲覧しました

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 サイトに注目してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート