如何在textarea中允许php脚本。我知道它的风险来自安全手段,但我想通过管理面板这样做,所以不用担心安全问题。 我想在textarea中包含1个php文件,并希望在显示textarea内容时执行它。 我该怎么办?
答案 0 :(得分:0)
将相应的PHP代码保存到新文件中,然后将PHP文件包含在要显示它的位置。
答案 1 :(得分:0)
获取您想要运行的字符串变量代码。
的eval($ phpcode);
为什么你想在那个特定的地方运行那么多文件代码?不能将代码放入函数中并在那里调用函数吗?
另外,解释一下究竟发生了什么。什么是需要运行的动态PHP代码?对于您无法控制的代码,您可以完全访问您的环境,包括存储在PHP文件中的数据库和密码!如果通过一个简单的GET参数,ppl可以叠加溢出并完全控制一个站点,那么你就可以完全轻松控制所有内容!并且不要告诉我们它在管理面板中,如果您认为这足以获得安全性,那么安全漏洞会更大!
即使它是一百个可能的代码。将它们放入函数内的文件中,并为用户提供组合框列表,以选择要运行的文件框。
如果管理员用户需要自定义某些代码,请使用插件系统。
如果管理员用户确实需要运行自定义快速代码,请授予他访问控制面板的权限,以便他可以直接添加和编辑文件。
答案 2 :(得分:0)
你可以在服务器端使用eval函数,但在使用之前需要清理php标签。
<form method="post" action="server.php">
<textarea name="text_area"></textarea>
</form>
<?php
// when display content
$pattern = "/<\?php(.*?)\?>/";
preg_match($pattern, $textarea_value, $matches);
foreach ($matches as $phpcode) {
eval($phpcode);
}
?>
当然不要忘记安全原因。
这段代码允许在textarea中添加许多php代码和简单文本同时
答案 3 :(得分:0)
我理解你想要收到textarea中输入的文字,或者在textarea元素中运行一些代码......
<?php
$unsecurePHPcode = $POST['unsecurePHPcode'];
?>
<textarea name="unsecurePHPcode">
<?php eval($unsecurePHPcode); ?>
</textarea>