D3.js点击被X-XSS-Protection使用chrome阻止

时间:2014-02-11 15:55:35

标签: 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 {
 console.log("clicked else");
 x = width / 2;
 y = height / 2;
 k = 1;
 centered = null;
 }

我收到一条错误,X-XSS-Protection正在阻止它,因为它的源代码是在请求中找到的。

另一次点击可以正常工作并显示一个弹出窗口。

如何才能在Chrome(及其他webkit浏览器)中使用它?

1 个答案:

答案 0 :(得分:0)

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

这意味着您要向JS发送html标签。哪个非常脆弱。在这种情况下,您的网站将容易受到基于DOM的XSS的攻击。<​​/ p>

例如,您将此代码发送给JS

<h1>You are doing it wrong</h1>

如果攻击者篡改了您的请求并将其更改为

<script>alert(document.cookie)</script>

通过这种方式,攻击者可以窃取你的cookie。

我更喜欢你不向JS发送html标签,仅发送值,如果你要向服务器端发送值,那么你还必须过滤用户的输入以防止XSS和SQL注入等