& lt; script>标记没有在php echo语句中呈现
<script> Tag is not rendering within the php echo statement
我制作了简单的tryItYourself类型codeEditor。进入文本区域,我写我的代码。当单击按钮renderCode
时,代码将呈现在它旁边的div中。但是每当我在文本编辑器中使用<script>
标签时,它不会渲染标签内的任何内容。
代码如下:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<style>
#area {
width: 48%;
height: 500px;
}
#showCode {
float: right;
width: 48%;
height: 500px;
margin-top: 5px;
border: 2px solid black;
}
</style>
</head>
<body>
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']) ; ?>" method="post">
<input type="submit" value="rederCode" style="display: block"><br>
<textarea id="area" name="code" placeholder="Enter your code here" >
<?php
if ($_SERVER['REQUEST_METHOD'] == "POST") {
echo $_POST["code"];
}
?>
</textarea>
<div id="showCode">
<?php
if ($_SERVER['REQUEST_METHOD'] == "POST") {
echo "'". $_POST['code'] . " ' ";
}
?>
</div>
</form>
</body>
</html>
当我使用<script>
标签时,它向我显示控制台内的错误:
XSS审计器拒绝执行脚本'http://localhost/textEditor.php',因为找到了它的源代码在请求内。由于服务器没有发送任何内容,因此启用了审计器一个'X-XSS-Protection'而不是'Content-Security-Policy'头。
浏览器检测到代码中的跨站点脚本漏洞。
在请求
中找到了它的源代码
表示浏览器没有运行脚本,因为脚本的内容是在$_POST中发送的。如果您确定您的页面是安全的,不受XSS漏洞的影响,请在文件开头添加以下PHP:
<?php
header("X-XSS-Protection: 0");
?>
相关文章:
- PHP/Ajax/jquery/JON-在Ajax Post之后将echo文本中的一部分作为变量返回
- 如何显示由ajax调用运行的PHP文件的echo
- 在 PHP 块中使用 Javascript 设置 HTML 文本框的值(使用 echo)
- 在PHP echo上显示的Javascript提示
- 使用jquery附加PHP echo
- 如何在php中使用echo来在html中打印文本
- 在 HTML 代码中调用 PHP 函数,在 PHP echo 语句中
- WordPress php:禁用javascript时隐藏“echo do_shortcode”字符串
- 使用JS'更正语法;onclick'PHP echo语句中的函数与嵌入的XML获取进行AND
- 使用jQuery更改PHP echo
- 如何让JavaScript.value在PHP echo中工作
- 如何在php echo中添加代码,使其在调用时成为弹出窗口
- 如何处理php echo'ajax中的ed消息
- backbone.js模板中的echo-php变量
- PHP,X-SendFile:将文件与输出文本一起发送到浏览器(通过echo)
- echo php javascript alert?
- Echo php 脚本中的变量
- 使用echo PHP MySQL复制值
- 外部javascript上的echo-php变量是可能的
- javascript中的echo php数组不起作用