【问题标题】:When people say "subdomain" do they mean VHosts with similar names, or mod_rewrite mappings?当人们说“子域”时,他们是指名称相似的 VHost,还是 mod_rewrite 映射?
【发布时间】:2012-04-02 12:38:59
【问题描述】:

我正在尝试设置一个 cookie 以供不同的虚拟主机使用。类似的问题已在此处多次询问:

Cookies in subdomain doesnt work

how to access cookies on subdomain

Cookies And Subdomain

Setting cookies on domain/subdomain

cross subdomain login with cookies

Cookies and subdomains

他们都提到了“子域”,但没有人描述它是什么。如果我有 2 个这样的 Apache VHost:

<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/
...
</VirtualHost>

<VirtualHost *:80>
ServerName home.example.com
DocumentRoot /var/www/home/
...
</VirtualHost>

如果我在 example.com 上登录用户并设置 -- 并确保用深沉的 cookie 怪物声音说出下一个单词 -- cookie 就像这样

setcookie( 'id', '1234', time()+24*3600, '/', '.example.com' );

我可以像这样在 home.example.com 上获得id

RewriteCond %{HTTP_COOKIE} \bid=[0-9]+\b

或者这些跨域 cookie 仅在子域完全设置在单个虚拟主机中时才有效(可能使用 mod_rewrite)

【问题讨论】:

    标签: mod-rewrite subdomain lamp


    【解决方案1】:

    它完全基于域名。同源检查不关心底层IP。

    home.example.com 可能是:

    1. 同example.com
    2. 不同
    3. 您的本地盒子
    4. 攻击者使用 DNS 伪造设置的子域。

    没关系。它仍然是一个子域。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-14
      • 1970-01-01
      • 1970-01-01
      • 2011-06-22
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      相关资源
      最近更新 更多