Google chrome D3.js单击被使用chrome的X-XSS-Protection阻止

Google chrome D3.js单击被使用chrome的X-XSS-Protection阻止,google-chrome,d3.js,Google Chrome,D3.js,当我执行以下代码时,在Chrome中正常运行的地图无法正常运行: function clicked(d) { var x, y, k; if (d && centered !== d) { console.log("clicked"); var centroid = path2.centroid(d); x = centroid[0]; y = centroid[1]; k = 2; // was 4 centered = d; } else {

当我执行以下代码时,在Chrome中正常运行的地图无法正常运行:

function clicked(d) {
  var x, y, k;
  if (d && centered !== d) {
  console.log("clicked");
  var centroid = path2.centroid(d);
  x = centroid[0];
  y = centroid[1];
  k = 2; // was 4
  centered = d;
 } else {
 console.log("clicked else");
 x = width / 2;
 y = height / 2;
 k = 1;
 centered = null;
 }
我得到一个错误,X-XSS-Protection正在阻止它,因为在请求中找到了它的源代码

再次单击可正常工作并显示弹出窗口

我该怎么做才能让它在Chrome(和其他webkit浏览器)中工作呢?

根据您的查询“在请求中找到了它的源代码”

这意味着您正在向JS发送html标记。这是非常脆弱的。在这种情况下,您的网站将容易受到基于DOM的XSS的攻击

例如,您正在将此代码发送到JS

<h1>You are doing it wrong</h1>
你做错了
如果攻击者篡改了您的请求并将其更改为

<script>alert(document.cookie)</script>
警报(document.cookie)
因此,通过这种方式,攻击者可以窃取您的Cookie


我希望您不要向JS发送html标记,只发送值,如果您向服务器端发送值,那么您还必须过滤用户的输入,以防止XSS和SQL注入等

您发布的代码似乎没有任何请求或类似的内容,因此我不确定您是如何得到该错误的。你能把完整的密码寄出去吗?包含代码,但现在我没有得到XSS错误。Chrome只是忽略了对ward地图的点击。你的JSFIDLE不适合我。我没有提供数据。。。工作地图对我来说很好(除了加载页面时的jquery错误)。我不知道“发送HTML”到我的JS是什么意思。如果你用POST GET或REQUEST方法向服务器发送像etc这样的HTML标记,并且服务器也打印回相同的输入,那么你做得不对。我使用的是d3.JS,我并不故意使用POST。但由于某种原因,我不再犯错误了。但在FF中工作的缩放在Chrome中不起作用。