我可以用什么代替URL推荐检查,以知道请求来自我的域
本文关键字:请求 我的 自我 检查 什么 URL 我可以 | 更新日期: 2023-09-27 18:04:03
我必须在我的网站上实现单点登录的解决方案。假设我的网站是www.myweb.com,我想允许来自网站www.sourceweb.com的用户使用这个网站。
我认为URL Referrer会做,但在IE中可能会出现null。
看到
请给我一些替代的解决方案。
谢谢,
Gaurav
如果您可以访问www.sourceweb.com并可以修改源代码,那么可能的解决方案将是:
- 在www.myweb.com上创建一个webservice。
- 在www.sourceweb.com上创建链接
- 当链接被点击时,调用webservice获取一个唯一的id。
- 将用户重定向到www.myweb.com,并在查询字符串中提供唯一id。
- 在www.myweb.com上确认唯一id是有效的并将其删除/标记为已使用。
有很多方法可以让你的网站更有魅力,其中一种方法是在第二个网站上设置一个cookie,在主站的页面上嵌入一个像素gif (1x1像素的小图片)。然后,只有在cookie已经设置的情况下,第二个站点才可以允许访问。
为了确保安全,您必须向像素gif URL添加令牌,其中包含时间戳,并使用HMAC或与其他站点建立共享秘密的类似内容进行签名。然后,只有当时间戳是最近的(少于一分钟)并且正确签名时,才能设置cookie。
URL_REFERER
是你最好的选择。
请记住,像大多数HTTP标头一样,它很容易伪造,不需要提供。
很简短的答案。不要自己实现。安全解决方案不应该实现,而应该购买。唯一的例外是,如果你真的为别人开发安全解决方案,当然。
从许多可用的SSO解决方案中选择一个并使用它。我们使用微软的ADFS,虽然它并不完美,但它可以用很少的维护为我们完成工作,唯一真正的问题是我们的应用程序托管在非windows平台上,如AIX。
当你试图实现自己的安全解决方案时,有很多机会把事情搞砸。如果你不同意,请记住,每年都会举行破解苹果、微软、Mozilla和谷歌等公司安全系统的竞赛,而大多数情况下,总有人会因为破解这些公司的安全系统而付出代价。