Perco a sessão $_SESSION de uma view para outra view sistema php mvc próprio.
Estou criando meu próprio mvc php para adquirir mais conhecimento.
Mas estou me deparando com uma coisa muita estranha, eu perco a $_SESSION de uma view para outra view
Fiz um codigo simples pra testar.**a.php ----- view a.php**
>
Citar
a.php ----- view a.php
<?php
session_start();
$_SESSION['teste'] = 'Funcionou';
echo $_SESSION['teste'];
?>
>
Citar
b.php ----- view b.php
<?php
session_start();
echo $_SESSION['teste'];
// Notice: Undefined variable: _SESSION in
var_dump($_SESSION);
// Notice: Undefined variable: _SESSION in NULL
?>
>
Citar
Minha Classe da Session
<?php
namespace Sis\Classes;
use App\Model\ClassLogin;
use Sis\Traits\TraitGetIp;
class ClassSession {
private $login;
private $timeSession = 1200;
private $timeCanary = 300;
public function __construct(){
if(session_id() == ''){
ini_set("session.save_handler", "files"); //Cabeçalhos somente atraves de arquivos
ini_set("session.use_cookies", 1); //Habilita o uso de cookies
ini_set("session.use_only_cookies", 1); //Só pode habilitar a seção atraves de coockies
ini_set("session.cookie_domain", DOMAIN); //Só aceita coockies vindo do nosso sistema
ini_set("session.cookie_httponly", 1); //Só aceita script php e não deixa o javascript alterar o sistema
if(DOMAIN != "localhost"){
ini_set("session.cookie_secure", 1); //Para trabalhar com o SSL do servidor ativo
}
/*Criptografia das nossas sessions*/
ini_set("session.entropy_length", 512); //
ini_set("session.entropy_file","/dev/urandom");
ini_set("session.hash_function", "sha256");
ini_set("session.hash_bits_per_character", 5);
session_start();
}
$this->login = new ClassLogin();
}
#Proteger contra roubo de sessão
public function setSessionCanary($par=null){
session_regenerate_id(true);
if($par == null){
$_SESSION['canary']=[
"birth" => time(),
"IP" => TraitGetIp::getUserIp() //Pega o ip do usuario
];
}else{
$_SESSION['canary']['birth']=time();
}
}
#Verificar a integridade da sessão
public function verifyIdSessions(){
if(!isset($_SESSION['canary'])){
$this->setSessionCanary();
}
if($_SESSION['canary']['IP'] !== TraitGetIp::getUserIp()){
$this->destructSessions();
$this->setSessionCanary();
}
if($_SESSION['canary']['birth'] < time() - $this->timeCanary){
$this->setSessionCanary("Time");
}
}
#Setar as sessões do nosso sistema
public function setSessions($Email){
$this->verifyIdSessions();
$_SESSION['Login'] = true;
$_SESSION['Time'] = time();
$_SESSION['Nome'] = $this->login->getIssetSession($Email)['data']['Nome'];
$_SESSION['Email'] = $this->login->getIssetSession($Email)['data']['Email'];
$_SESSION['Permissoes'] = $this->login->getIssetSession($Email)['data']['Permissoes'];
}
#Validar as páginas internas do sistema
public function verifyInsideSession(){
$this->verifyIdSessions();
if(!isset($_SESSION['Login']) || !isset($_SESSION['Permissoes']) || !isset($_SESSION['canary'])){
$this->destructSessions();
header("Location: ".DIRPAGE."NaoAutorizado");
}else{
if($_SESSION['Time'] >= time() - $this->timeSession){
$_SESSION['Time']=time();
}else{
$this->destructSessions();
header("Location: ".DIRPAGE."NaoAutorizado");
}
}
}
#Destruir as sessions existentes
public function destructSessions(){
foreach (array_keys($_SESSION) as $key) {
unset($_SESSION[$key]);
}
}
#testar
public function testarSessions(){
echo 'oiiiiiiiiiiiiiiiiiiiiiiooooooooooo';
}
}
>
Citar
Abaixo segue as fotos dos comportamentos em 2 navegadores diferentes Mozila e Chorme
/applications/core/interface/imageproxy/imageproxy.php?img=https://lh3.googleusercontent.com/PUL73kBQQfr_Y9niFLbPIcYFJKwU1bmW2oPCP3ESIiUp97OQacJlqDF6bPRbxcX00i53RZyHFG4bRBz41703o53qDm7F8fEx_r41y8vQ609Oez1-2BNQTqDDbtMubcasKdQ1iiOSQVcrHUhEDsxddwEyk_jOUOeSO36QMSsHBmoyJGq1BZRm3NiordQOPAk2zXewpZ9dEfU6iM1mLQ-4SS2ZH45mJo6or_Mnx8pdCEVaymBwvubS-xXhFivSswfn0f4LWtU-Rr5vAoM8oMKCOeAwGHrVdVhfKjyZoUCKFArhhb_i49-BQW0Gqh3J35KiVUgEheE0JeWhqoVyZfLtZUuX-A5bVVJGd00y28yPf2Pznpo3lan1y2WCiQ9ws0IcFxa-q97Qw39VC-Y3tHFv1LoCzYrwBw_tRDaadV9KKkoPirZVDzN7QeZkmYX81b3vROUzSHSDUyyMF6jcKbb88cK--WOzHHg2YttqzOSYlgPC-ZAIYzFw6T9NPyY9LP3a6I3QD2yCIr5_J1S43Lwsx8MNT_j7do1BJN9h6AJLeD7EaULJkbmmlZ8SnXO8UT6xAxhKBi9knP9g6KuEJTr_xsj9KuFBhNtGVt_DGbt49WTlEkck-tTGCdaotpHJ5_92YyPZtGSvcnvkM-vWqxwmJ_KMp_Nypo4=w818-h626-no&key=bc9f6dd9dbfaa51f49227fab1060adf70a66a14b5e4bb4cce480b9a1180391ec" width="817" data-imageproxy-source="https://lh3.googleusercontent.com/PUL73kBQQfr_Y9niFLbPIcYFJKwU1bmW2oPCP3ESIiUp97OQacJlqDF6bPRbxcX00i53RZyHFG4bRBz41703o53qDm7F8fEx_r41y8vQ609Oez1-2BNQTqDDbtMubcasKdQ1iiOSQVcrHUhEDsxddwEyk_jOUOeSO36QMSsHBmoyJGq1BZRm3NiordQOPAk2zXewpZ9dEfU6iM1mLQ-4SS2ZH45mJo6or_Mnx8pdCEVaymBwvubS-xXhFivSswfn0f4LWtU-Rr5vAoM8oMKCOeAwGHrVdVhfKjyZoUCKFArhhb_i49-BQW0Gqh3J35KiVUgEheE0JeWhqoVyZfLtZUuX-A5bVVJGd00y28yPf2Pznpo3lan1y2WCiQ9ws0IcFxa-q97Qw39VC-Y3tHFv1LoCzYrwBw_tRDaadV9KKkoPirZVDzN7QeZkmYX81b3vROUzSHSDUyyMF6jcKbb88cK--WOzHHg2YttqzOSYlgPC-ZAIYzFw6T9NPyY9LP3a6I3QD2yCIr5_J1S43Lwsx8MNT_j7do1BJN9h6AJLeD7EaULJkbmmlZ8SnXO8UT6xAxhKBi9knP9g6KuEJTr_xsj9KuFBhNtGVt_DGbt49WTlEkck-tTGCdaotpHJ5_92YyPZtGSvcnvkM-vWqxwmJ_KMp_Nypo4=w818-h626-no" />
/applications/core/interface/imageproxy/imageproxy.php?img=https://lh3.googleusercontent.com/mBZCS3LX1ZZ8XK5i9nqt5viPwY6ygoOnE0f25JjeabQiSlLKegDILlTnGA_SbilFHojzcxfpVp7VcfWeOAY2smt38u4APglkCf0yteM8rApg0o9wuTGvXpcFZ92JXLG4mD6WUahkifVg1VjQTHLCsFLypVjEQxNfzEZ6RYw_2Cm1mPM_NvuzWnegqW9nlHULaVR8_Pw2TWEI39o8up_s-tYN21BhNTj8u924ANniiJvGaydpe8k-PoqypMuZV9bX5ehgI4ZwPCwqeH_eXAtAPuTfusAHVvTuDvK7c8T3puowkhJ6AAS58LTbg9JRymg0mTJ0Uu8Zu88S3vfn6le3_mt6Hu0hGvulUxV3TLQ3ZIiuDlJWuC-aempNCM2kBf3_w-sukiT_RvB-Swd044rYVQ5BJIUtsBGbuctkFy8inhZbn4oUpuVW7Tj_8XxzFKkDZwi_hAGneHHiKOxOteTA1hYOoA0ReqVhfO_CTLygqZ44ikm57cURRbe_16Qmma8ZU1CkW3stmTbQf-Zr3xvqOyUChcW0VPMp0YCBEEWcPNWmXEDOoBaF_gy4uGpzZa2WO8jqRKKZpRm52RQWB149JhU1WuaqCWa_3etZbqvKtp0drjdSrFHkkpoKHtmiRnlRehhJNEwSEV-GwLMj6_PEY7mC0FAEmUU=w841-h626-no&key=43f5893a45e59db51fd1fd95e122ebeb06b3638a616c62bf238e59f2ba1fef9c" width="841" data-imageproxy-source="https://lh3.googleusercontent.com/mBZCS3LX1ZZ8XK5i9nqt5viPwY6ygoOnE0f25JjeabQiSlLKegDILlTnGA_SbilFHojzcxfpVp7VcfWeOAY2smt38u4APglkCf0yteM8rApg0o9wuTGvXpcFZ92JXLG4mD6WUahkifVg1VjQTHLCsFLypVjEQxNfzEZ6RYw_2Cm1mPM_NvuzWnegqW9nlHULaVR8_Pw2TWEI39o8up_s-tYN21BhNTj8u924ANniiJvGaydpe8k-PoqypMuZV9bX5ehgI4ZwPCwqeH_eXAtAPuTfusAHVvTuDvK7c8T3puowkhJ6AAS58LTbg9JRymg0mTJ0Uu8Zu88S3vfn6le3_mt6Hu0hGvulUxV3TLQ3ZIiuDlJWuC-aempNCM2kBf3_w-sukiT_RvB-Swd044rYVQ5BJIUtsBGbuctkFy8inhZbn4oUpuVW7Tj_8XxzFKkDZwi_hAGneHHiKOxOteTA1hYOoA0ReqVhfO_CTLygqZ44ikm57cURRbe_16Qmma8ZU1CkW3stmTbQf-Zr3xvqOyUChcW0VPMp0YCBEEWcPNWmXEDOoBaF_gy4uGpzZa2WO8jqRKKZpRm52RQWB149JhU1WuaqCWa_3etZbqvKtp0drjdSrFHkkpoKHtmiRnlRehhJNEwSEV-GwLMj6_PEY7mC0FAEmUU=w841-h626-no" />
Discussão (0)
Carregando comentários...