Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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" />
Carregando comentários...