【问题标题】:is it possible to read a csrf token from one site to allow access to content on another site是否可以从一个站点读取 csrf 令牌以允许访问另一个站点上的内容
【发布时间】:2012-09-14 07:03:44
【问题描述】:

这里是场景...

我有一个网站:

http://internet.com

当用户成功登录时,我从http://internet.com 设置了一个令牌(cookie,类似的东西)。

我也有http://web.internet.com

http://web.internet.com 上,我想向拥有该令牌/cookie/等可用的用户显示数据。

这是用例

  • 用户登录 http://internet.com(托管在不同服务器上的 asp.net 框架 - 这是我们的主要产品,需要订阅/用户名和登录)
  • 然后用户可以访问在http://web.internet.com 上从公众视图中隐藏的部分(在 goDadday 上托管的 wordpress 站点 - 该站点包含一个我们不想公开的知识库,除非他们已经完成 [XXXXX])
  • 两个站点相互独立托管,不共享一个共同的用户名和密码 ======

另一种情况是设置 wordpress 以允许特定部分作为 jsonp 响应。但前提是用户在http://internet.com 登录以允许用户访问位于http://web.internet.com 的jsonp 响应

你们有什么想法吗?

【问题讨论】:

    标签: wordpress cross-domain session-state session-cookies csrf


    【解决方案1】:

    这实际上取决于您需要的安全级别。您可以使用wp_set_auth_cookie 将用户登录到 Wordpress 站点而无需密码,但是如果您只是验证用户已登录到 ASP.NET 站点,然后使用 JSONP 加载设置为 auth cookie 的页面,它会起作用,但是你肯定有一些安全漏洞。

    更好的解决方案是为 .internet.com 设置一个域级别的 cookie,其令牌可以被您域中的任何服务器读取。然后,Wordpress 站点可以检查is_user_logged_in(),如果没有,则获取该cookie 值并对ASP.NET 站点进行后端调用以验证其真实性,然后调用wp_set_auth_cookie()。一个简单的网络服务可能是最好的选择。您仍然需要在 ASP.NET 和 Wordpress 站点上的用户名之间进行某种程度的映射,但要知道要传递哪个 user_ID。

    【讨论】:

      猜你喜欢
      • 2019-03-21
      • 2014-04-07
      • 1970-01-01
      • 2012-04-23
      • 2021-06-16
      • 1970-01-01
      • 1970-01-01
      • 2012-07-11
      • 2018-06-15
      相关资源
      最近更新 更多