我正在尝试为自己的服务器制作类似http://writecodeonline.com/php/的内容。我不能使用该服务,因为我需要使用cURL,因为显而易见的原因,这些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
中使用错误代码,则可以看到错误代码我知道这是一个安全禁忌,但无论如何我在服务器上没有任何价值。
答案 0 :(得分: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;
}
答案 1 :(得分:0)
echo 123;
有效
问题是引号将使用反斜杠进行转义。
看看php:addslashes,您可以通过disabling magic_quotes
选项将其关闭。