Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Oie,
Preciso utilizar ssl compartilhado disponibilizado pelo servidor, porém quando altera o domínio o session_id é alterado.
Encontrei uma solução e gostaria de compartilhar OU até mesmo ser corrigido caso esteja incorreto.
ps: Não quero que a sessão seja passada via get durante todo o processo.
pegaSessao.php
session_start();
$_SESSION['token'] = session_id();
if(isset($_GET['consulta'])){
define('VOLTA','http://dominio?token='.$_SESSION['token']);
header('Location:'.VOLTA);
exit();
}
index.php
session_start();
define('S_HTTPS','https://dominio.com/pegaSessao.php');
if(isset($_GET['token'])){
session_id($_GET['token']);
$_SESSION['token'] = $_GET['token'];
# Já setado o $_SESSION['token'] Redireciona para mesma pagina sem o get
header('Location:'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];); exit();
}
# Se não houver a $_SESSION['token'] redireciona para resgatar no HTTPS
if(!isset($_SESSION['token'])){ header('Location:'.S_HTTPS); exit(); }
echo 'SESSAO= '.session_id().'<br />TOKEN = '.$_SESSION['token'].'<br />';
Parece + uma tremenda gambiarra, mais funciona perfeitamente e foi a única forma que encontrei, confesso que não gostei dos redirecionamentos.
Tentei resgatar de forma assíncrona com o próprio php utilizando CURL, file(), file_get_contents, e Jquey, porem para casa requisição uma sessao diferente.
Deem suas sugestões! É um assunto intrigante bastante discutido porém sem solução. (Pelo que pesquisei)
Abçs
Carregando comentários...