Do not send cookie domain if local domain (chrome breaks)
authorAlexander Ebert <ebert@woltlab.com>
Thu, 8 Nov 2012 18:38:00 +0000 (19:38 +0100)
committerAlexander Ebert <ebert@woltlab.com>
Thu, 8 Nov 2012 18:38:00 +0000 (19:38 +0100)
wcfsetup/install/files/lib/util/HeaderUtil.class.php

index ce5537c05e11fa3debd3afb1da371146cc98a9cc..e6f850c46fdef862eebccaffa761a8b66f323c5c 100644 (file)
@@ -20,7 +20,8 @@ final class HeaderUtil {
         */
        public static function setCookie($name, $value = '', $expire = 0) {
                $application = ApplicationHandler::getInstance()->getActiveApplication();
-               @header('Set-Cookie: '.rawurlencode(COOKIE_PREFIX.$name).'='.rawurlencode($value).($expire ? '; expires='.gmdate('D, d-M-Y H:i:s', $expire).' GMT' : '').'; path='.$application->cookiePath.'; domain='.$application->cookieDomain.(RouteHandler::secureConnection() ? '; secure' : '').'; HttpOnly', false);
+               $addDomain = (StringUtil::indexOf($application->cookieDomain, '.') === false || StringUtil::endsWith($application->cookieDomain, '.lan') || StringUtil::endsWith($application->cookieDomain, '.local')) ? false : true;
+               @header('Set-Cookie: '.rawurlencode(COOKIE_PREFIX.$name).'='.rawurlencode($value).($expire ? '; expires='.gmdate('D, d-M-Y H:i:s', $expire).' GMT' : '').'; path='.$application->cookiePath.($addDomain ? '; domain='.$application->cookieDomain : '').(RouteHandler::secureConnection() ? '; secure' : '').'; HttpOnly', false);
        }
        
        /**