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%)
-----


Po poczytaniu troche o sesjach , stworzylem takie cos i niestety nie chodzi:( . Moja niewprwane oczy nie widza bledu.MOze mi pomozecie:
  1. <?php
  2.  
  3.  
  4. function checkPass($user, $pass)
  5. {
  6. $auth = false;
  7. $db_handle=pg_connect("host=localhost dbname=log user=postgres");
  8. $sql="SELECT COUNT(*) FROM users WHERE username='$user' AND password='$pass'";
  9. $dane = pg_query($db_handle,$sql) or die(pg_errormessage());
  10. $wierdane = @pg_num_rows($dane);
  11. if ($wierdane == 1) {
  12. $auth = true;
  13. }
  14. @pg_close($db_handle);
  15. return $auth;
  16. }
  17. if(isSet($_SESSION['zalogowany'])){
  18. header("Location: glowna.php");
  19. exit();
  20. }
  21. else if(isSet($_POST['user']) && isSet($_POST['haslo']){
  22. if(checkPass($_POST['user'], $_POST['haslo'])){
  23. $_SESSION['zalogowany'] = true;
  24. header("Location: glowna.php");
  25. }
  26. }
  27. ?>


Ten post edytował mercii 16.12.2006, 13:25:51
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: 12.10.2025 - 15:57