如何在 textarea 中允许 php 脚本。我知道它的安全性是有风险的,但我想通过管理面板来做,所以不用担心安全性。我想在 textarea 中包含 1 个 php 文件,并希望在显示 textarea 内容时执行它。我该怎么做?
4 回答
我了解您想接收在 textarea 中输入的文本,或者在 textarea 元素中运行一些代码...
<?php
$unsecurePHPcode = $POST['unsecurePHPcode'];
?>
<textarea name="unsecurePHPcode">
<?php eval($unsecurePHPcode); ?>
</textarea>
将您想要运行的代码放入字符串变量中。
评估($phpcode);
为什么你这么想在那个特定的地方运行那个文件代码?不能将代码放入函数中并在那里调用该函数吗?
另外,解释到底发生了什么。这个需要运行的动态 PHP 代码是什么?您正在为您无法控制的代码提供对您环境的完全访问权限,包括您的数据库和存储在 PHP 文件中的密码!如果通过一个简单的 GET 参数,ppl 可以堆栈溢出并获得对站点的完全控制,那么您就可以让他们完全轻松地控制一切!并且不要告诉我们它在管理面板中,如果您认为这足以具有安全性,那么安全漏洞就更大了!
即使它是一百个可能的代码。将它们放入函数内部的文件中,并为用户提供一个组合框列表以选择要运行的组合框。
如果管理员用户需要自定义一些代码,请使用插件系统。
如果管理员用户确实需要运行自定义快速代码,请让他访问您的控制面板,以便他可以直接添加和编辑文件。
您可以在服务器端使用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 代码和简单文本
将相应的 PHP 代码保存到一个新文件中,然后简单地将 PHP 文件包含在您要显示的位置。