Webサーバーでeval()が無効または有効になっていることを知る方法PHPコードはこれを知るために何か?サーバーで無効になっている場合、PHPコードを有効にするかどうかphp eval function
答えて
PHPには何も組み込まれていないため、評価を無効にすることはできません(無効にできる他の機能とは異なります)。
しかし、Suhosinと呼ばれるPHP用のセキュリティパスをインストールすると、evalを無効にしたり、PHPに他のセキュリティ機能を追加することができます。
http://www.hardened-php.net/suhosin/configuration.html#suhosin.executor.disable_eval
['eval'は言語構造である](http://www.php.net/manual/en/function.eval.php#refsect1-function.eval-notes)として私はあなたに同意するつもりです。これが 'eval'を無効にする唯一の方法であれば、' 'ini_get'](http://www.php.net/manual/en/function.ini-get.php)でチェックすることができます。 –
eval()
がで存在しているかどうかを判断することができるはずです:
http://php.net/manual/en/function.function-exists.php
if (function_exists('eval')) {
echo "eval() exists, it does it does!";
}
EDIT
は実際には、eval()
は言語construですctであるため、function_exists()
を使用してテストすることはできません。しかし、これは動作するはずです:
<?php
$isevalfunctionavailable = false;
$evalcheck = "\$isevalfunctionavailable = true;";
eval($evalcheck);
if ($isevalfunctionavailable === true) {
echo "\$isevalfunctionavailable is true.\n";
echo var_dump($isevalfunctionavailable);
}
?>
'eval'は言語構造であるため、これは常に失敗します。それは 'function_exists(" foreach ")' – mario
@marioのテストと似ています - あなたが正しいです。それらの厄介な言語構造! :P –
@mario - 私の編集はどうですか? –
さて、言ったように、eval
を無効にすることはほとんどありません。
$eval = create_function("", "$code");
$eval();
あるいは単に:
assert_options(ASSERT_ACTIVE, 1);
assert_options(ASSERT_QUIET_EVAL, 1);
assert("$code");
とファイルシステム-回避策:
file_put_contents($tmp=tempnam("/tmp", "EVAL"), "$code");
include($tmp);
ストレートにevalにすべての作業と同等しかし、念のために、3つの回避策があります。
- 1. PHPのEval()問題
- 2. php header function working
- 3. show function to php
- 4. javascript run php function
- 5. PHP - IRC Function
- 6. goto inside function php
- 7. C#の - スタイルのPHP「evalの」
- 8. function delete_item()from array php
- 9. function php to Plugin Wordpress
- 10. PHP/SQL help with function
- 11. on off function on php
- 12. php else for function shorthand
- 13. PHPのアルゴリズムがどのようにeval
- 14. mongo db find function in php
- 15. Jquery内のPHPコードappend()function
- 16. AjaxコールPHP Mysql public static function
- 17. PHP PDO lastinsertid of previous function
- 18. php string同義語replace function
- 19. PHPと似たC#の機能Eval()
- 20. PHP Uncaught例外: 'Twig_Error_Syntax'メッセージ: 'Unknown' asset "function。"
- 21. evalとnew Function()を持たない文字列からjs関数を作成
- 22. 、ボイド、evalを、およびJavaScriptでのFunctionコンストラクタの違いは何ですか?
- 23. Javascript json eval()injection
- 24. jQuery 1.7.1/eval/seq/
- 25. Javascript-functionとPHPの両方を実行
- 26. Javascript eval alias
- 27. Matlab repr function
- 28. $ scope function in function
- 29. eval() - eval() 'dコードの解析エラー
- 30. EVALスキーム
eval( "echo 'Hello World!';"); あなたは行きます。 –
典型的なsafe_modeの制限は 'exec'とcoに影響します。しかし、 'eval'は通常ブロックされません。とにかく、 'include(.. file_put_contents(" tmp "、...))'を使って回避することができます。 – mario