高级前端
http
【Q658】什么是点击劫持(ClickJacking),如何预防

什么是点击劫持(ClickJacking),如何预防

Issue 欢迎在 Gtihub Issue 中回答此问题: Issue 676 (opens in a new tab)

Author 回答者: shfshanyue (opens in a new tab)

可以使用 HTTP X-Frame-Options 响应头以及 CSP: frame-ancestors 指令,避免自己网站被当做 iframe 嵌入到非法网站引导用户点击

X-Frame-Options: DENY
X-Frame-Options: SAMEORIGIN

或者使用 CSP 的指令 frame-ancestors 进行预防

Content-Security-Policy: frame-ancestors 'none';
Content-Security-Policy: frame-ancestors 'self' https://www.example.org;

同时,也可以使用 Javascript 进行控制,当发现自身网站置于 iframe 中时,将不予展现

<head> </head>
<body>
  <script>
    // 如果发现现在是在 iframe 中
    if (self !== top) {
      document.write("");
    }
  </script>
</body>

Author 回答者: shfshanyue (opens in a new tab)