• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zapamietaj podczas logowania +ciasteczka php vol2.

Object Storage Arubacloud
+2 głosów
486 wizyt
pytanie zadane 9 kwietnia 2015 w PHP przez Dissio Mądrala (5,830 p.)

W skrocie robie system logowania, w ktorym po nakliknieciu "zapamietaj", uzytkownik dostaje ciasteczko, dzieki ktoremu nie zostaje wylogowany.

Skrypt wyglada tak:

index.php

<sprawdza czy jest ciasteczko>

if (isset($_COOKIE['autologowanie']))
  {
  	header('location:home.php');
	exit();
  }

2. na stronie zaloguj.php (skrypt, ktory waliduje dane z formularza logowania), kiedy uzytkownik wszystko dobrze wpisal:

	while($row=$query->fetch_assoc())
			 {
	               
			 	 $_SESSION['zalogowany']=true;	
			 	 $_SESSION['user_zalogowany']="";
			 	 $_SESSION['user_zalogowany']=$row['user_name'];
				 
				
				 if ($_POST['autologowanie']=='on')
			    {
			    	$expire=time()+99999999;
			     	setcookie('autologowanie',$login_logowania,$expire);					
			    }
				 header("location:home.php");

			 }

gdzie row_username- to wiersz w bazie danych z nickiem
$_POST['autologowanie] - checbox
$login_logowania - zwalidowana input gdzie wpisuje się nick

3.home.php strona glowna po zalogowaniu

session_start();
	
	 if (isset($_SESSION['zalogowany']) or isset($_COOKIE['autologowanie']) )
   {
   
    if (!isset($_SESSION['zalogowany']) and isset($_COOKIE['autologowanie']))
	 {
	 	$_SESSION['zalogowany'] = $_COOKIE['autologowanie'];
        		
	 }
	
	
    echo "Cześć <strong>".$_SESSION['user_zalogowany']."</strong>!";


I teraz mam problem przede wszystkim nie rozumiem linijki:

if (!isset($_SESSION['zalogowany']) and isset($_COOKIE['autologowanie']))
	 {
	 	$_SESSION['zalogowany'] = $_COOKIE['autologowanie'];
        		
	 }

oraz nie wiem jak zrobic zeby zapisalo mi wyslane sesje (nick uzytkownika,id,np. email)  i wyswietlalo, poniewaz gdy zaznacze checboxa i wchodze na strone, to wszystko sie pojawia, jednakze kiedy zresetuje przegladarke nick ($_SESSION['zalogowany'] nie pokazuje sie.

z gory dziekuje za pomoc

 

1 odpowiedź

–1 głos
odpowiedź 9 kwietnia 2015 przez darek_kce Gaduła (3,180 p.)

To jest BARDZO niebezpieczny kod.

Musisz podać w tym ciasteczku jakieś dane, które tylko ty odszyfrujesz, i upewnisz się wtedy że dane użytkownika się zgadzają.

if (!isset($_SESSION['zalogowany']) and isset($_COOKIE['autologowanie']))
     {
        $_SESSION['zalogowany'] = $_COOKIE['autologowanie'];
                 
     }

To oznacza że ma ustawić sesje 'zalogowany' na login użytkownika - bez sensu gdyż w sesji powinna być wartość true - to jest tak jak wyżej.

komentarz 9 kwietnia 2015 przez Dissio Mądrala (5,830 p.)
niestety, wiele mi to nie wyjasnilo :/
komentarz 9 kwietnia 2015 przez darek_kce Gaduła (3,180 p.)
A możesz napisać bardziej dokładnie czego nie rozumiesz? Chcę Ci to wyjaśnić.
komentarz 9 kwietnia 2015 przez Dissio Mądrala (5,830 p.)
w jaki sposob łaczyc ze soba sesje i cookie tak, ze w momencie restartu przegladarki, zapamietuje mi np. z bazy nick,id,email (jak to wyslac z zaloguj.php, a potem odczytac w home.php ) :) ?

Podobne pytania

0 głosów
2 odpowiedzi 316 wizyt
pytanie zadane 20 kwietnia 2015 w PHP przez makoso Mądrala (7,380 p.)
0 głosów
1 odpowiedź 533 wizyt
pytanie zadane 20 października 2016 w PHP przez MatiiTv Gaduła (3,790 p.)
0 głosów
1 odpowiedź 186 wizyt

92,555 zapytań

141,402 odpowiedzi

319,540 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...