点击劫持 通过用户点击完成一个操作,但是用户并不知情 原理通过一个 iframe,将目标网站放在网站上,其实用户操作的其实是 iframe 步骤 目标网站是一个 iframe 嵌入网站中 目标网站是透明的 点击劫持防御 js 禁止内嵌 X-FRAME-OPTIONS 禁止内嵌

点击劫持

  • 通过用户点击完成一个操作,但是用户并不知情

    原理通过一个 iframe,将目标网站放在网站上,其实用户操作的其实是 iframe

步骤

  1. 目标网站是一个 iframe 嵌入网站中
  2. 目标网站是透明的

点击劫持防御

  1. js 禁止内嵌
// 如果存在嵌套top.location != window.location
// top全局的对象,window是iframe的对象
// 控制目标网站的跳转
if (top.location != window.location) {
	top.location = window.location;
}
  1. X-FRAME-OPTIONS 禁止内嵌
<!-- 这个属性可以让脚本不能执行,但是表单能够提交 -->
<iframe sandbox="allow-forms"> </iframe>
// DENY:禁止
ctx.set('X-Frame-Options', 'DENY');
// SAME-ORIGIN:同一个网站的时候才可以使用
ctx.set('X-Frame-Options', 'SAME-ORIGIN');
// ALLOW-FROM URL 只允许指定的网站能使用
ctx.set('X-Frame-Options', 'ALLOW-FROM');

暂无评论