Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> problem z sha1
-ent-
post 28.09.2005, 11:21:12
Post #1





Goście







witam

problem dotyczy zwyklego logowania z uwierzytelnianiem i zastosowaniem funcji sha1 w php5. mam baze danych w MySQL z tabela admin, w niej 2 kolumny "nazwa_uz" i "haslo" z 1 wierszem loginem i haslem zaszyfrowanym funkcja sha1oraz prosty formularz logowania z dwoma polami.
oczywiscie mam tez skrypcik ktory ma sprawdzac wpisany login i haslo->
jego glowna czesc:
  1. <?php
  2. $wynik = $lacz->query("select * from admin
  3.  where nazwa_uz ='$nazwa_uz' and haslo = sha1('$haslo')");
  4. ?>

i tu sie zaczyna problem bo kiedy wpisuje haslo w formularzu to nie moge sie zalogowac natomiast zmieniajac skrypt na:
  1. <?php
  2. $wynik = $lacz->query("select * from admin
  3.  where nazwa_uz ='$nazwa_uz' and haslo = '8a889c2add825feb'");
  4. ?>

jest wszystko w porzadku. Dziala rowniez kiedy zamiast normalnego hasla wpisuje 8a889c2add825feb a w skrypcie opuszczam funkcje sha1:
  1. <?php
  2. $wynik = $lacz->query("select * from admin
  3.  where nazwa_uz ='$nazwa_uz' and haslo = '$haslo'");
  4. ?>

byc moze problem jest banalny ale php to dla mnie nowosc... smile.gif
mam nadzieje ze opis jest jasny
dzieki za wszelka pomoc
Go to the top of the page
+Quote Post
shield
post 28.09.2005, 11:41:19
Post #2





Grupa: Zarejestrowani
Postów: 15
Pomógł: 2
Dołączył: 29.06.2005

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


  1. <?php
  2. $wynik = $lacz->query("select * from admin
  3.  where nazwa_uz ='$nazwa_uz' and haslo = sha1('$haslo')");
  4. ?>


przed ta linijka zrob
$haslo=sha1($haslo) i zmien zapytanie na:
  1. <?php
  2. $wynik = $lacz->query("select * from admin
  3.  where nazwa_uz ='$nazwa_uz' and haslo = '$haslo'");
  4.  
  5. ?>


greets
Go to the top of the page
+Quote Post
NuLL
post 28.09.2005, 11:49:39
Post #3





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


  1. <?php
  2. $wynik = $lacz->query("select * from admin
  3.  where nazwa_uz ='".$nazwa_uz."' and haslo = '".sha1($haslo)."'");
  4. ?>


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
-ent-
post 28.09.2005, 11:53:13
Post #4





Goście







przykro mi ale ten sposob nic nie daje. nadal nie moge sie zalogowac. troche sie nawet zdziwilem ze wczesniejsze przypisanie zmiennej moze cos zmienic.
dzieki za pomoc winksmiley.jpg moze jakis inny pomysl. glupia sprawa bo to chyba powinno dzialac... sad.gif
Go to the top of the page
+Quote Post
-ent-
post 28.09.2005, 12:02:46
Post #5





Goście







ten drugi sposob tez niewiele pomaga. nie wiem o co chodzi. wczesniej ten sposob wydawal sie dobry a tu lipa. jak to jest ze wpisanie sha1($haslo) jest "gorsze" od wpisania wyniku tej funkcji(zbior znakow)?
Go to the top of the page
+Quote Post
-ent-
post 28.09.2005, 12:18:40
Post #6





Goście







zastanawiam sie czy nie zostawic tego skryptu w taki sposob:
  1. <?php
  2. $wynik = $lacz->query("select * from admin
  3.  where nazwa_uz = '$nazwa_uz' and haslo = '8a889c2add825feb'");
  4. ?>

bo jak na razie tylko ten wariant dziala(choc mnie to wkurza angrysmiley.gif ).
Tylko czy to nie wplynie za bardzo na jego bezpieczenstwo. ewentualnie mozna to zapisac w funkcji w oddzielnym pliku. jakas rada?
Go to the top of the page
+Quote Post
shield
post 28.09.2005, 12:25:31
Post #7





Grupa: Zarejestrowani
Postów: 15
Pomógł: 2
Dołączył: 29.06.2005

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


sprawdz sobie baze bo najprawdopodobniej masz skopana ilosc znakow (czytaj za mala) przechowujaca haslo, normalnie sha1 zwraca 40 znaczkow, u ciebie zwraca na pewno mniej

greets
Go to the top of the page
+Quote Post
-ent-
post 28.09.2005, 12:41:21
Post #8





Goście







dzieki shield biggrin.gif

myslalem o tym wczesniej ze cos jest z moja baza-> tabela admin bo skladnia zapytania byla dobra
funkcja sha1 powinna zwracac 40 znakow a w mojej bylo 16(dziwne) -> wynik sha1 nie mogl byc wykonany w calosci bo pole char hasla w bazie ustawilem na 16(stad krotszy wynik).powinien byc 40. glupi blad blink.gif
co do poprzedniego mojego posta to nie moglem tego tak zostawic bo przy kazdej zmianie hasla musialbym zmieniac ciag tych znakow w zapytaniu
dzieki za pomoc i czas
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: 19.06.2025 - 23:25