<script>标记不在php echo语句中呈现

时间:2015-08-13 19:44:16

标签: javascript php

我做了简单的 tryItYourself 类型的codeEditor。进入文本区域我写了我的代码。 &#xA;当单击按钮 renderCode 时,代码将在它旁边的div中呈现。&#xA;但每当我使用&lt; script&gt; 标签时文本编辑器它不会渲染标记内的任何内容。

&#xA;&#xA;

这是代码。

&#xA;&#xA;
 < code>&lt;!doctype html&gt;&#xA;&lt; html&gt;&#xA;&lt; head&gt;&#xA;&lt; meta charset =“utf-8”&gt;&#xA;&lt; title&gt; Untitled Document&lt ; / title&gt;&#xA;&lt; style&gt;&#xA; #area {&#xA;宽度:48%;&#xA;身高:500px;&#xA;}&#xA; #showCode {&#xA; float:right;&#xA;宽度:48%;&#xA;身高:500px;&#xA; margin-top:5px;&#xA;边框:2px纯黑色;&#xA;}&#xA;&lt; / style&gt;&#xA;&lt; / head&gt;&#xA;&#xA;&lt; body&gt;&#xA;&lt; form action = “&lt;?php echo htmlspecialchars($ _ SERVER ['PHP_SELF']);?&gt;” method =“post”&gt;&#xA;&lt; input type =“submit”value =“rederCode”style =“display:block”&gt;&lt; br&gt;&#xA;&lt; textarea id =“area”name =“code”占位符=“在此处输入您的代码”&gt;&#xA;&lt;?php&#xA; if($ _SERVER ['REQUEST_METHOD'] ==“POST”){&#xA; echo $ _POST [ “码”]; &#xA;}&#xA;?&gt;&#xA;&lt; / textarea&gt;&#xA;&lt; div id =“showCode”&gt;&#xA;&lt;?php&#xA; if($ _SERVER ['REQUEST_METHOD'] ==“POST”){&#xA; echo“'”。 $ _POST ['code']。 “'”; &#XA;}&#XA;?&GT;&#XA;&LT; / DIV&GT;&#XA;&LT; /形式&GT;&#XA;&LT; / BODY&GT;&#XA;&LT; / HTML&GT;&# xA;  
&#xA;&#xA;

每当我使用&lt; script&gt; 标签时,它会在控制台内显示错误:

& #xA;&#XA;
&#XA;

XSS Auditor拒绝在&#xA;中执行脚本' http://localhost/textEditor.php ',因为找到了源代码&#xA;在请求中。审核员已启用,因为服务器既未发送&#xA; 'X-XSS-Protection'或'Content-Security-Policy'标题。

&#xA;
&#xA;

1 个答案:

答案 0 :(得分:0)

浏览器检测到代码中的跨站点脚本漏洞。

  

在请求中找到了它的源代码

表示浏览器未运行脚本,因为脚本的内容是在$ _POST中发送的。如果您确定您的页面不受XSS漏洞的影响,请在文件开头添加以下PHP:

<?php
    header("X-XSS-Protection: 0");
?>