-1

私は自分のサーバー用にhttp://writecodeonline.com/php/のようなものを作ろうとしています。明らかな理由で有効になっていないcURLを使用する必要があるため、そのサービスを使用できません。

これは私がこれまでに持っているコードです。

テストするコードを入力する最初のページ。

<form method="post" action="process.php">
<textarea name="code" cols="40" rows="5"></textarea><br>
<input type="submit" value="Submit" />
</form>

そして、コードを実行します。

<?php
$result = eval($_POST['code']); 
echo $result;
?>

ここで使用しようとすると、エラーコードが表示されますhttp://alexseyer.com/phptest.php

これがセキュリティ上の問題であることはわかっていますが、サーバーには何の価値もありません。

4

2 に答える 2

2

以下のコードを試すことができます。get_magic_quotes_gpc()magic_quotes_gpcがオンになっているかどうかを確認するために使用します。

if(!empty($_POST)){
    if(get_magic_quotes_gpc())
        echo eval_php(stripslashes($_POST['content']));
    else{
        echo eval_php($_POST['content']);
    }
}

function eval_php($content)
{
    ob_start();
    eval("?>$content<?php ");
    $output = ob_get_contents();
    ob_end_clean();
    return $output;
}
于 2012-07-04T06:50:05.417 に答える
0

echo 123;作品

問題は、引用符が円記号でエスケープされることです。php:addslashesを見てください。オプションを無効にすることで、オフにすることがmagic_quotesできます。

于 2012-07-04T06:49:12.883 に答える