Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> skrypt logowania
Artu123
post 17.12.2008, 16:04:37
Post #1





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 8.12.2008

Ostrzeżenie: (0%)
-----


  1. <?php
  2.  
  3. // wykonawca skryptu : Artu123
  4. // W razie problemów gg: 7211515
  5.  
  6.  
  7. mysql_connect("localhost","root","");
  8. mysql_select_db("ciasteczka");
  9.  
  10. $login = mysql_real_escape_string(strip_tags($_POST['login']));
  11. $haslo = mysql_real_escape_string(strip_tags($_POST['haslo']));
  12. $_GET['akcja'] = mysql_real_escape_string(strip_tags($_GET['akcja']));
  13. $_SESSION['login'] = mysql_real_escape_string(strip_tags($_SESSION['login']));
  14.  
  15. if ($_GET['akcja'] == "wyloguj") {
  16.  
  17. if ($_COOKIE['haslo']==true && $_COOKIE['login']==true) {
  18.  
  19. setcookie("login", "", time() - 7200);
  20. setcookie("haslo", "", time() - 7200);
  21.  
  22. echo '<meta http-equiv="refresh" content="2; url=index.php">
  23. Zostałeś pomyślne wylogowany!';
  24.  
  25. } else {
  26.  
  27. echo '<meta http-equiv="refresh" content="2; url=index.php">Zostałeś niepomyślne wylogowany!';
  28.  
  29. }
  30.  
  31. } else {
  32.  
  33. if ($_COOKIE['login']==true && $_COOKIE['haslo']==true && mysql_num_rows(mysql_query("SELECT id,login,haslo FROM users WHERE login = '".$_COOKIE['login']."' AND haslo = '".md5($_COOKIE['haslo'])."' AND login = '".$_SESSION['login']."' AND haslo = '".$_SESSION['haslo']."'"))) {
  34.  echo 'Witaj '.$_COOKIE['login'].'! <a href="?akcja=wyloguj">Wyloguj się [x]</a>';
  35.  } else {
  36. if (empty($_POST['submit'])) {
  37.  ?>
  38.    
  39. <form action='' method='post'>
  40. Login: <input type='text' name='login' value=''><br>
  41. Hasło: <input type='password' name='haslo' value=''><br>
  42. <input type='submit' name='submit' value='Zaloguj'>
  43. </form>
  44.  
  45. <?php
  46. } else {
  47. if (mysql_num_rows(mysql_query("SELECT id,login,haslo FROM users WHERE login = '".$_POST['login']."' AND haslo = '".md5($_POST['haslo'])."'"))) {
  48.  
  49. setcookie("login",$login,time()+60*60*2);
  50. setcookie("haslo",$haslo,time()+60*60*2);
  51.  
  52. $_SESSION['haslo'] = ''.$haslo.'';
  53. $_SESSION['login'] = ''.$login.'';
  54.  
  55. echo '<meta http-equiv="refresh" content="2; url=">Zostałeś zalogowany';
  56. } else {
  57. echo '<meta http-equiv="refresh" content="2; url=index.php">Podałeś złe dane!';
  58. }
  59. }
  60. }
  61. }
  62.  
  63. echo $_SESSION['login'];
  64.  
  65. ?>


Tworzę w ramach treningu skrypt logowania i mam problem.

  1. <?php
  2. $_SESSION['haslo'] = ''.$haslo.'';
  3. $_SESSION['login'] = ''.$login.'';
  4. ?>


Nie chce tych danych zapisać do sesji .

  1. <?php
  2.  
  3.  
  4. if ($_GET['akcja'] == 'dodaj') {
  5.  
  6. $_SESSION['login'] = 'costam';
  7.  
  8. }
  9.  
  10. echo $_SESSION['login'];
  11.  
  12. ?>


Taki oto skrypt działa. Po wejściu na stronę ?akcja=dodaj później wszędzie wyświetla się costam . Proszę o pomoc
Go to the top of the page
+Quote Post
erix
post 17.12.2008, 16:10:49
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Na chorobę Ci to:
  1. <?php
  2. $_SESSION['haslo'] = $haslo;
  3. ?>

Róznica? Owszem - w szybkości. Apostrofy są tu zbędne.

  1. <?php
  2. setcookie("login",$login,time()+60*60*2);
  3. setcookie("haslo",$haslo,time()+60*60*2);
  4. ?>

Nigdy nie zapisuj takich danych w ciastkach.

Cytat
Nie chce tych danych zapisać do sesji .

Sprawdź sobie $login, $haslo, bo jak są puste, to wiadomo, że ich nie zapisze. tongue.gif


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Artu123
post 17.12.2008, 16:16:44
Post #3





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 8.12.2008

Ostrzeżenie: (0%)
-----


Cytat(erix @ 17.12.2008, 16:10:49 ) *
Na chorobę Ci to:
  1. <?php
  2. $_SESSION['haslo'] = $haslo;
  3. ?>

Róznica? Owszem - w szybkości. Apostrofy są tu zbędne.

  1. <?php
  2. setcookie(&#092;"login\",$login,time()+60*60*2);
  3. setcookie(&#092;"haslo\",$haslo,time()+60*60*2);
  4. ?>

Nigdy nie zapisuj takich danych w ciastkach.


Sprawdź sobie $login, $haslo, bo jak są puste, to wiadomo, że ich nie zapisze. tongue.gif


1 pogrubienie. Miałem tak ale zmieniłem na ''..'' bo próbuje to naprawić na różne sposoby tongue.gif

2 pogrubienie. To gdzie mam zapisywać? Po za tym zapisuję jeszcze w sesjach i w bazie danych ip będzie zapisywało

3 pogrubienie. Nie są puste, ponieważ gdy zaloguję się to piszę na dole mój login. Ale gdy już się strona odświeży to nic nie ma .

  1. <?php
  2. echo $_SESSION['login'];
  3. ?>
Go to the top of the page
+Quote Post
erix
post 17.12.2008, 16:41:15
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
2 pogrubienie. To gdzie mam zapisywać? Po za tym zapisuję jeszcze w sesjach i w bazie danych ip będzie zapisywało

Sama sesja wystarczy. Nic więcej, ciastka zostaw w spokoju i wtedy daj znać. Jeśli zapisujesz login + hasło w ciastku i np. nie wylogujesz się w bibliotece, to wyciągnę sobie Twoje hasło bez problemu.

Cytat
3 pogrubienie. Nie są puste, ponieważ gdy zaloguję się to piszę na dole mój login. Ale gdy już się strona odświeży to nic nie ma .

Bo jest wtedy pusty formularz.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Artu123
post 17.12.2008, 16:45:17
Post #5





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 8.12.2008

Ostrzeżenie: (0%)
-----


Cytat(erix @ 17.12.2008, 16:41:15 ) *
Bo jest wtedy pusty formularz.


no właśnie. Czyli pole nie jest puste, bez powodu nie chce dodawać do sesji. Z tego co czytałem inni twierdzą, że ciastka są bezpieczniejsze.

Edit://

Cytat(erix @ 17.12.2008, 16:41:15 ) *
Jeśli zapisujesz login + hasło w ciastku i np. nie wylogujesz się w bibliotece, to wyciągnę sobie Twoje hasło bez problemu.


No to hasło w ciastkach będę zapisywał w md5 . I nikt nie wyciągnie hasła tongue.gif

Ten post edytował Artu123 17.12.2008, 16:47:04
Go to the top of the page
+Quote Post
nospor
post 17.12.2008, 16:52:31
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
No to hasło w ciastkach będę zapisywał w md5 . I nikt nie wyciągnie hasła
tja... a świstak siedzi i zawija sreberka... tongue.gif
Jak ci bardziej doswiadczona osoba mowi: "Nie zapisuj haseł w ciachach" to znaczy: nie zapisuj hasel w ciachach, nie zapisuj w ciachach md5() z hasel bo już dawno można takie hasło zgadnąc z hasha.
http://forum.php.pl/index.php?showtopic=44...t=0&start=0


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Artu123
post 17.12.2008, 16:55:58
Post #7





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 8.12.2008

Ostrzeżenie: (0%)
-----


Cytat(nospor @ 17.12.2008, 16:52:31 ) *
tja... a świstak siedzi i zawija sreberka... tongue.gif
Jak ci bardziej doswiadczona osoba mowi: "Nie zapisuj haseł w ciachach" to znaczy: nie zapisuj hasel w ciachach, nie zapisuj w ciachach md5() z hasel bo już dawno można takie hasło zgadnąc z hasha.
http://forum.php.pl/index.php?showtopic=44...t=0&start=0


No dobra, wy tutaj piszecie jakieś rzeczy nie na temat, a ja chce tylko wiedzieć dlaczego to nie działa .
Go to the top of the page
+Quote Post
#luq
post 17.12.2008, 17:03:06
Post #8





Grupa: Zarejestrowani
Postów: 589
Pomógł: 91
Dołączył: 22.05.2008
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Nie przechowuj takich danych w ciasteczkach, możesz mieć jakąś lukę i XSS`em będzie można ukraść ciasteczka innych userów.

@nospor
Cytat
bo już dawno można takie hasło zgadnąc z hasha.

Nie żebym się czepiał, ale termin zgadnąć, raczej tutaj nie pasuje winksmiley.jpg Raczej przeszukać i znaleźć w bazę hashy, tablicą tęczową lub znaleźć kolizję.

Szczerze to ciężko się połapać w twoim kodzie. Podziel wszystko na funkcje, login(), logout() + jakiś register() itp.


--------------------
Moja gra - scraby.io
Go to the top of the page
+Quote Post
nospor
post 17.12.2008, 17:05:17
Post #9





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Nie żebym się czepiał
A jednak czepiasz się winksmiley.jpg
Zapomnialem slowo "zgadnac" wziąść w apostrofy

Cytat
wy tutaj piszecie jakieś rzeczy nie na temat,
sam zaczales wygadywac herezje to sie nie dziw ze ludzie na to reagują. zamiast marudzic to lepiej podziekuj za dobre rady, nawet jak teraz nie skorzystasz to moze gdy dorosniesz zrozumiesz o czym byla mowa winksmiley.jpg


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 17.06.2025 - 20:06