Avatar billede mccookie Seniormester
10. december 2014 - 22:45 Der er 15 kommentarer og
2 løsninger

Perfekt logout med SESSION

Hej,

Jeg søger lidt efter et perfekt logud script - Eller en smart håndtering.
Når min bruger logger ud, kan man trykke på navigeringen, gå en side tilbage og vupti står alt info igen til offentligt skue.

Jeg har prøvet alverdens Headerparametre der skulle undlade at siden kan reloades - Men uden held.

Jeg har på jagt efter en metode ala Google, når du er logget ud, kan du ikke længere trykke tilbage....

Nogle gode, links etc.?
Avatar billede Slettet bruger
11. december 2014 - 00:19 #1
slet cookie
Avatar billede mccookie Seniormester
11. december 2014 - 06:02 #2
Hej,

Kunne du eksemplificere det?
Avatar billede pct Nybegynder
11. december 2014 - 08:39 #3
<?php
// 0-stiller session variabler
session_unset();

// Sletter session
session_destroy();
?>
Avatar billede mccookie Seniormester
11. december 2014 - 09:15 #4
Hej

Problemet med kun unset og destroy er at siden  kan vises via back knappen.
Avatar billede repox Seniormester
11. december 2014 - 09:24 #5
Det er et cache problem.
Du skal sørge for at de sider, som er beskyttet af brugerlogin ikke caches. F.eks.

<?php

header("Cache-Control: no-store, no-cache, must-revalidate");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");

if(!isset($_SESSION['user_id']))
{
  header("Location: login.php");
  exit;
}
Avatar billede jakobdo Ekspert
11. december 2014 - 10:16 #6
repox: Back kan du da ikke "cache" dig ud af?
Avatar billede mccookie Seniormester
11. december 2014 - 15:57 #7
Hej,

Når man eksempelvis logger ud af sin Google account, så er du logget og dermed ikke noget med at trykke tilbage - Alles is close!

Jeg har prøvet begge forslag uden resultat..
Avatar billede mccookie Seniormester
11. december 2014 - 16:27 #8
Jeg tror jeg har fundet et eksempel, som løser problematikken:

http://www.formget.com/login-form-in-php/
Avatar billede mccookie Seniormester
11. december 2014 - 16:27 #9
Ved godt MySQL kaldene er kristiske, men de kan da ændres....
Avatar billede repox Seniormester
11. december 2014 - 22:42 #10
#6
Det er en teknik jeg selv har brugt længe. Virker ganske fint for mig. Om det så burde, det ved jeg ikke :-)
Avatar billede mccookie Seniormester
12. december 2014 - 06:31 #11
Repox> Jeg har prøvet dit forslag, og oprindeligt så mit eget også sådan ud - Men den viser nu siden hvis jeg trykker BACK
Avatar billede repox Seniormester
12. december 2014 - 08:16 #12
Må jeg se din implementation?
Avatar billede showsource Seniormester
13. december 2014 - 14:26 #13
Forstår ikke lige probl.

if(isset($_GET["logout"])) {
$_SESSION = array();

if (isset($_COOKIE[session_name()])) {
    setcookie(session_name(), '', time()-42000, '/');
}

session_destroy();

header("Location:http://".$_SERVER["HTTP_HOST"]);
exit;

}
Avatar billede showsource Seniormester
13. december 2014 - 14:32 #14
Hvis du efterflg. kan klikke på tilbage og se siden igen, så er det din kode du har fejl i.
Avatar billede mccookie Seniormester
24. juli 2015 - 16:24 #15
Læg venligst svar
Avatar billede showsource Seniormester
01. august 2015 - 07:51 #16
Øhh, mig ?
Avatar billede showsource Seniormester
01. august 2015 - 07:51 #17
Nåh, afvis hvis det ikke er :O)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester