我可以用什么代替URL推荐检查,以知道请求来自我的域

本文关键字:请求 我的 自我 检查 什么 URL 我可以 | 更新日期: 2023-09-27 18:04:03

我必须在我的网站上实现单点登录的解决方案。假设我的网站是www.myweb.com,我想允许来自网站www.sourceweb.com的用户使用这个网站。

我认为URL Referrer会做,但在IE中可能会出现null。

看到

请给我一些替代的解决方案。

谢谢,

Gaurav

我可以用什么代替URL推荐检查,以知道请求来自我的域

如果您可以访问www.sourceweb.com并可以修改源代码,那么可能的解决方案将是:

  1. 在www.myweb.com上创建一个webservice。
  2. 在www.sourceweb.com上创建链接
  3. 当链接被点击时,调用webservice获取一个唯一的id。
  4. 将用户重定向到www.myweb.com,并在查询字符串中提供唯一id。
  5. 在www.myweb.com上确认唯一id是有效的并将其删除/标记为已使用。

有很多方法可以让你的网站更有魅力,其中一种方法是在第二个网站上设置一个cookie,在主站的页面上嵌入一个像素gif (1x1像素的小图片)。然后,只有在cookie已经设置的情况下,第二个站点才可以允许访问。

为了确保安全,您必须向像素gif URL添加令牌,其中包含时间戳,并使用HMAC或与其他站点建立共享秘密的类似内容进行签名。然后,只有当时间戳是最近的(少于一分钟)并且正确签名时,才能设置cookie。

URL_REFERER是你最好的选择。

请记住,像大多数HTTP标头一样,它很容易伪造,不需要提供。

很简短的答案。不要自己实现。安全解决方案不应该实现,而应该购买。唯一的例外是,如果你真的为别人开发安全解决方案,当然。

从许多可用的SSO解决方案中选择一个并使用它。我们使用微软的ADFS,虽然它并不完美,但它可以用很少的维护为我们完成工作,唯一真正的问题是我们的应用程序托管在非windows平台上,如AIX。

当你试图实现自己的安全解决方案时,有很多机会把事情搞砸。如果你不同意,请记住,每年都会举行破解苹果、微软、Mozilla和谷歌等公司安全系统的竞赛,而大多数情况下,总有人会因为破解这些公司的安全系统而付出代价。

相关文章: