Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Logowanie + baza w POSTGRESQL
mercii
post
Post #1





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 1.05.2006

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


Witam
Napisalem takie logowanie ale nie dziala:(
Napisalem to za duzo powiedziane , przerobilem bylo by lepsze.(IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Domyslem sie ze sa spore bledy ale prosze mi wybaczyc i w miare mozliwosci pomoc.
Poszukuje sposobu na bezpieczne bardzo bezpieczne logowanie ale narzie jestem poczatkujacy wiec muse zaczynac od najprostszych.
Prosibym o porady dotyczace tego kodu a takze czym mam sie teraz zajac aby skupic sie na bezpieczenstwie.
Zrobilem baze danych w ktorej uzytkownicy beda sie logowac i sprawdzac stan konta.

  1. <?
  2. function getLoginInfo() {
  3.  
  4. if (isset($_SERVER['HTTP_AUTHORIZATION']))
  5. return explode(':', base64_decode(substr(
  6. $_SERVER['HTTP_AUTHORIZATION'], 6)));
  7. if (isset($_SERVER['PHP_AUTH_USER']))
  8. return array($_SERVER['PHP_AUTH_USER'],
  9. $_SERVER['PHP_AUTH_PW']);
  10. return false;
  11. }
  12.  
  13. $auth = false;
  14. if (($loginInfo = getLoginInfo()) !== false) {
  15. $polacznie = pg_connect("host=localhost dbname=X user=X") or die('Nie mozna nawiazac polaczenia');
  16. $sql="SELECT locked FROM users WHERE username='$loginInfo[0]' AND password='$loginInfo[1]'";
  17. $dane = pg_exec($polaczenie,$sql) or die(pg_erromessage());
  18. $wierdane = @pg_numrows($dane);
  19. if ($wierdane == 1) {
  20. if (!dane($dane, false, false))
  21. $auth = true;
  22. }
  23. }
  24.  
  25. if (!$auth) {
  26. // Brak uprawnien
  27. header('WWW-Authenticate: Basic realm="Tajne"');
  28. header('HTTP/1.0 401 Unauthorized');
  29. echo 'Brak uprawnieе└ do przeglд┘dania strony';
  30. die;
  31. }
  32. echo 'Witaj!';
  33. ?>


Nie ma u mnie w kodzie tych slashy.

Ten post edytował mercii 12.12.2006, 13:32:32
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mercii
post
Post #2





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 1.05.2006

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


Poprawilem i jest juz lepiej.
Dziekuje za rade.
Ale nie jest dobrze do konca. teraz laczy mi sie z baza ale nie loguje.
Tzn nie wypisuje napisu witaj co jest wina mysle tego kodu:
  1. <?php
  2. $dane = pg_query($db_handle,$sql) or die(pg_erromessage());
  3. $wierdane = @pg_num_rows($dane);
  4. if ($wierdane == 1) {
  5. if (!dane($dane, false, false))
  6. $auth = true;
  7. }
  8. pg_close($db_handle);
  9. }
  10. ?>

I czemu jak juz raz wpisze dane do okienka autoryzacyjnego HTTP to po odswierzeniu strony sie juz nie pojawia?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Go to the top of the page
+Quote Post
acztery
post
Post #3





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

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


Cytat(mercii @ 12.12.2006, 14:08:40 ) *
Poprawilem i jest juz lepiej.
Dziekuje za rade.
Ale nie jest dobrze do konca. teraz laczy mi sie z baza ale nie loguje.
Tzn nie wypisuje napisu witaj co jest wina mysle tego kodu:
  1. <?php
  2. $dane = pg_query($db_handle,$sql) or die(pg_erromessage());
  3. $wierdane = @pg_num_rows($dane);
  4. if ($wierdane == 1) {
  5. if (!dane($dane, false, false))
  6. $auth = true;
  7. }
  8. pg_close($db_handle);
  9. }
  10. ?>

I czemu jak juz raz wpisze dane do okienka autoryzacyjnego HTTP to po odswierzeniu strony sie juz nie pojawia?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?


popraw tak

  1. <?php
  2. $dane = pg_query($db_handle,$sql) or die(pg_erromessage());
  3. $wierdane = pg_num_rows($dane);
  4. if ($wierdane == 1) {
  5. $auth = true;
  6. }
  7. pg_close($db_handle);
  8. ?>





  1. <?php
  2. if (!$auth == true) {
  3.  
  4. echo 'brak dostępu';
  5. } else {
  6.  
  7. echo 'Witaj!';
  8. }
  9. ?>


PS pg_erromessage (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? co to (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ma byc pg_errormessage

Ten post edytował acztery 12.12.2006, 14:15:28
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 16.10.2025 - 21:51