我正在尝试使用HTML5实现跨域身份验证。
域2将向domain1 Iframe发布消息以获取数据,domain1将检查源并获取数据。用户数据将是电子邮件地址。
有人可以篡改邮件的origin属性(例如,通过更改hosts文件),假装为domain2,向domain1 Iframe发送邮件,并获取用户的电子邮件地址吗?
谢谢
图科
答案 0 :(得分:2)
是的,用户可以篡改它。
Javascript在用户的Web浏览器中执行。客户端发生的一切都可以由用户控制和操纵。用户甚至不必为此操作主机文件,还有许多其他方法可以伪造HTTP POST请求。
用户必须操作的任何内容都必须在服务器端完成。
当您需要跨域身份验证时,通常会在托管domain1的服务器上生成一个长的随机ID号(也称为令牌)。此令牌既发送给用户,也发送给托管domain2的其他服务器。当用户访问domain2时,它可以提供从domain1获得的令牌(通常作为从域1到域2的URL的一部分)。这允许domain2识别用户。