Versão do PHP 5.4.41
Apache versão 2.2.15
Versão 2.6.32 do Linux
CentOS 6.6
Eu tenho um código que não é redirecionado corretamente. Há muito código e configuração, então tentarei mantê-lo o mais simples possível. Minha sessão é perdida continuamente após um redirecionamento de cabeçalho. Não há erros e não há avisos ... o redirecionamento continua bem. Eu session_start (); e var_dump [$ _ SESSION] na página após o redirecionamento para obter NULL. Se eu session_start e despejo logo antes do redirecionamento, a sessão despeja bem. Eu estou supondo que tem algo a ver com o mod_rewrites htaccess soltando a sessão entre as páginas, mas não tenho certeza de como corrigi-lo. Eu continuo lendo para adicionar [L, QSA], mas isso não está ajudando. As sessões funcionam bem para páginas simples no mesmo servidor que não usam mod_rewrites.
Eu acho que o domínio é o mesmo, vendo como vai:
link
link
Eu chmoded & chorei recursivamente toda a pasta www para que o apache tivesse todas as permissões e possuísse tudo no site.
O arquivo .htaccess se parece com:
RewriteCond %{REQUEST_URI} !=/web/[a-z0-9]{6}/index.php
RewriteCond %{REQUEST_URI} !error [NC]
RewriteCond %{REQUEST_URI} !css [NC]
RewriteCond %{REQUEST_URI} !images [NC]
RewriteCond %{REQUEST_URI} !js [NC]
RewriteRule ^([a-z0-9]{6})/(.*)$ /web/index.php?id=$1&page=$2 [L,QSA]
link
DocumentRoot "/var/www/html"
link
Alias /web /var/www/html/website/
<Directory "/var/www/html/website/">
AllowOverride All
Order allow, deny
Allow from all
</Directory>
no output_buffering do php.ini está ativado.
session.cookie_path = /var/www/html/session
session.use_cookies = 1
session.use_only_cookies = 1
O redirecionamento de cabeçalho é semelhante ao valor $ url que contém "home", substituindo o login por home no URL:
header("Location: $url",true,302);
exit();
Quando faço o curl -i na home page
Eu recebo:
HTTP/1.1 302 Found
Date: Wed, 10 Jun 2015 21:54:38 GMT
Server: Apache/2.2.15 (CentOS)
X-Powered-By: PHP/5.4.41
Set-Cookie: PHPSESSID=08079c815224b0b129d566dc274e0081; path=/web/someus; domain =127.0.0.1; secure
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: PHPSESSID=ebde43200c30ad6ac18e88b8bfb71371; path=/web/someus; domain =127.0.0.1; secure
Set-Cookie: PHPSESSID=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/web/ webdmo; domain=127.0.0.1; secure; httponly
Location: login
Content-Security-Policy: default-src 'self' 'unsafe-eval' 'unsafe-inline'
X-Content-Security-Policy: default-src 'self' 'unsafe-eval' 'unsafe-inline'
X-WebKit-CSP: default-src 'self' 'unsafe-eval' 'unsafe-inline'
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
X-Frame-Options: DENY
Strict-Transport-Security: max-age=631138519; includeSubDomains
Content-Length: 0
Connection: close
Content-Type: text/html; charset=UTF-8
Quando faço curl -i na página de login que redireciona para a página inicial
Eu recebo:
HTTP/1.1 200 OK
Date: Wed, 10 Jun 2015 21:58:21 GMT
Server: Apache/2.2.15 (CentOS)
X-Powered-By: PHP/5.4.41
Set-Cookie: PHPSESSID=d79a57eaabb9a41e99f4e0dda202a598; path=/web/someus; domain=127.0.0.1; secure
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Security-Policy: default-src 'self' 'unsafe-eval' 'unsafe-inline'
X-Content-Security-Policy: default-src 'self' 'unsafe-eval' 'unsafe-inline'
X-WebKit-CSP: default-src 'self' 'unsafe-eval' 'unsafe-inline'
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
X-Frame-Options: DENY
Strict-Transport-Security: max-age=631138519; includeSubDomains
Content-Length: 2890
Connection: close
Content-Type: text/html; charset=UTF-8
Acho interessante que o domínio 127.0.0.1 esteja seguro em um e não no outro - não tenho certeza se isso tem algo a ver com isso.