如何禁止某人在iframe中加载页面并使用javascript提交?

如何禁止某人在iframe中加载页面并使用javascript提交?,javascript,html,iframe,exploit,Javascript,Html,Iframe,Exploit,标题说明了一切 想象一下: <!DOCTYPE html> <html> <head> </head> <body> <iframe style="display:none" name="xxx"></iframe> <form method='POST' action='http://MYPAGE.com/account/' target="xxx" id="xxx"> <input ty

标题说明了一切

想象一下:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<iframe style="display:none" name="xxx"></iframe>
<form method='POST' action='http://MYPAGE.com/account/' target="xxx" id="xxx">
  <input type='hidden' name='xxxxxxx' value='yyyyyyyy'>
  <input type='submit' value='submit'>
</form>
<script>document.getElementById("xxx").submit()</script>
</body>

document.getElementById(“xxx”).submit()


如何禁用这样的攻击?

使用
X-Frame-Options
并将其设置为
DENY
SAMEORIGIN
DENY
将完全拒绝任何人在iframe中构建页面,并且
SAMEORIGIN
将只允许同一原点在iframe中显示页面。有关更多信息,请参阅。

如果iFrame中的页面是不同的域(甚至子域),则它将无法访问父级。iframe在这里是非常不相关的。@pherris-问题不是iframe是否有权访问父级,而是页面是否将表单提交到
http://MYPAGE.com/account/
CSRF标签wiki回答了这个问题:反之亦然-家长正在访问iframed页面。