【前端安全】点击劫持

点击挟持:

顾名思义,跟点击有关,挟持,意味着违背用户意愿做一件事情。

点击挟持,通过用户点击完成了另一个操作,用户并不知情。

通过iframe

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>点击挟持</title>
</head>
<body style="background: url(clickhijack.png) no-repeat">
    <iframe style="opacity:0" src="http://localhost:80/post/15" width="800" height="600"></iframe>    
</body>
</html>

点击劫持防御

  • javascript 禁止内嵌
  • X-FRAME-OPTIONS 禁止内嵌
  • 其他辅助手段

1. javascript 禁止内嵌

当有 iframe内嵌时候,top 和window会不相等

if(!top.location != winodw.location) {
    top.location = window.location
}

有可能禁用了JS,此时点击劫持还是会有的。

2. X-FRAME-OPTIONS 禁止内嵌

ctx.set('X-Frame-Options', 'DENY');

3. 其他辅助手段

加验证码 来防止点击挟持 或者其他手段来增加用户的操作。

猜你喜欢

转载自blog.csdn.net/qq_37021554/article/details/89067723