作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
Write your code here -6ren">
我创建了一个使用文件功能的 php 编辑器,用户可以在其中在线运行代码并在同一页面上获得结果。
执行php5.php
<form action="<?php echo $_SERVER['PHP_SELF'];?>"method="post">
<b>Write your code here</b>
<textarea name="code"></textarea>
<input type="submit"value="Run code">
</form>
<?php
$cd=stripslashes($_POST['code']);
#dont write empty textarea
if(empty($cd)) {
echo "";
} else {
$file=fopen("demo.php","w");
echo fwrite($file, $cd);
fclose($file);
}
?>
<b>Results:</b>
<hr>
<?php
error_reporting(E_ALL);
include "demo.php";
?>
demo.php是表单更新的目标文件。
这一切都按预期工作。我的问题是我想为这个编辑器禁用所有文件、目录、mail() 和 ftp 功能,这样用户就不会使站点崩溃。
有没有办法只为我的编辑器禁用这些功能?
最佳答案
您可以传入 disable_functions,即“在沙箱子解释器中禁用的逗号分隔函数列表。”
检查 Runkit_Sandbox .您应该将编辑器作为沙箱提供。
关于php - 如何在 php 中保护 php 在线编辑器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34013566/
我是一名优秀的程序员,十分优秀!