我正在开发一个在线HTML编辑器。为此,我使用了表单元素。在表单内部,有一个包含HTML代码的Textarea和一个将呈现HTML代码的Iframe。表单的目标是Iframe。
这是我在编辑器中的代码:
<form id="edfrm" method="post" action="/source.php" target="frame">
<textarea name="code" id="code"></textarea>
<iframe allowtransparency="false" src="/source.php" name="frame" id="frame"></iframe>
<button id="subbutton">Submit</button>
</form>
当提交表单时,Textarea的值转到source.php,Iframe从source.php收集源代码并呈现结果。
这是source.php:
<?php
$runCode = @$_REQUEST["code"];
print $runCode ;
?>
但是当我使用&#39;脚本编写HTML代码时标签或&#39; iframe&#39;在Textarea中标记并提交表单,我的项目不起作用。错误说,&#34;无法加载资源:服务器响应状态为403(禁止)&#34;。当我删除&#39;脚本&#39;或者“iframe&#39;标签它工作正常。
如果我遇到服务器问题,PHP配置问题或其他问题,请帮助我。 SVG也有效,但是脚本的问题是什么?和&#39; iframe&#39;?
我认为,对我和其他人来说,这是一个非常严重的问题。请帮助!
示例:我在textarea中编写此代码。
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<canvas id = "canvas1" width = "200" height = "100" style = "border-style:solid; border-width:1px;">
</canvas>
<script>
var cnv = document.getElementById("canvas1");
var ctx = cnv.getContext("2d");
ctx.beginPath();
ctx.arc(100,50,40,0,2*Math.PI,true);
ctx.strokeStyle = "Green";
ctx.lineWidth = "10";
ctx.stroke();
ctx.fillStyle = "Yellow"
ctx.fill();
</script>
</body>
</html>
这不起作用并给出错误。当我删除脚本标记时,代码就会运行。
答案 0 :(得分:-1)
如果我理解正确:
将您的内容发布到source.php。
结果代码包含一个带有属性
的iframe<强> SRC = “source.php”强>
因此,您的网页和您的iframe都会从source.php获取来源。
这会导致一个循环,这样你就可以使用403.请将你的iframe的src属性改为其他任何东西,然后重试。