如何在HTML代码中阻止任何PHP代码?
我的应用程序中有一个函数,用户可以使用HTML代码,Javascript代码和CSS代码创建HTML页面。但是我不允许他保存任何PHP代码,因为这些内容将保存在文件中并加载到服务器中。
<html lang="pt-BR">
<head>
</head>
<body>
<h1>This is allowed</h1>
<?php echo "DELETE THIS LINE"; ?>
</body>
<script>
console.log("THIS IS ALLOWED");
</script>
</html>
我需要注释或删除PHP代码,但是我不知道该怎么做。
答案 0 :(得分:0)
不包含文件,PHP将不会执行(它将作为未知HTML标记出现在HTML源代码中,但不会执行)。只需阅读并输出:
$output = file_get_contents("/path/to/file.html");
echo $output;
//or
readfile("/path/to/file.html");
或者,如果要包含它,则在写入文件之前对其进行注释(在HTML源代码中为注释):
$output = str_replace(['<?php', '?>'], ['<!--', '?>'], $html);
file_put_contents("/path/to/file.html", $output);
//where you want to use it
include("/path/to/file.html");
答案 1 :(得分:-1)
您需要使用php函数htmlspecialchars()
来清理用户代码。参见文档here