![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 200 Pomógł: 16 Dołączył: 11.01.2009 Skąd: wrocław Ostrzeżenie: (0%) ![]() ![]() |
Mam taki problem jak zrobić żeby skrypt przeszukiwał całą tabele w poszukiwaniu danego użytkownika (narazie sprawdza tylko pierwszą kolumne) nie wiem jak zrobić jakąś pentelke czy coś.
A drugie to jak odszyfrować użytkownika i hasło z tabeli żeby mogło zostać porównane, używam sha1 do szyfrowania. W komentarzu na dole sposób szyfrowania jest
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 326 Pomógł: 121 Dołączył: 23.07.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
sha1 to nie funkcja szyfrujaca a funkcja skrotu (dwie zupelnie rozne sprawy). Jest to funkcja jednokierunkowa, zatem raz wygenerowanej sumy nie da sie rozszyfrowac. Mozna jedynie porownywac, czy sha1(haslo_wzorcowe) == sha1(haslo_testowane), czyli
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 176 Pomógł: 31 Dołączył: 26.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 11 Dołączył: 24.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Poprawiłem nieco:
Ten post edytował Savage.Mephisto 5.06.2009, 16:38:02 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
ale poco login ~"szyfrować" tą funkcją sha1 ?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 200 Pomógł: 16 Dołączył: 11.01.2009 Skąd: wrocław Ostrzeżenie: (0%) ![]() ![]() |
to czy login bedzie szyfrowany czy nie nie ma wpływu na działanie kodu....
zmieniłem sha1 na md5 i szyfruje tylko hasło. w kodzie który kolega zamieścił wyżej wywala mi błąd Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/sites/yoyo.pl/p/a/pablo83/lista6/lista_6.php on line 34 czy w $zapytaniu SELECT mogę zmienić to sha1 na md5 ? bo czepia mi się że nie prawidłowy string daje : $zapytanie = ('SELECT Login, Haslo FROM Users WHERE Login = '.$login.' AND Haslo ='.md5($passw).' LIMIT 1'); może tak być? no i ta instrukcja nie przszukuje całej tabeli, wprowadziłem nie zaszyfrowane dane np na pozycji 5 i nie znajduje takiego użytkownika edit 1 oczywiście pomyłka tak miało być .md5($passw). Ten post edytował pablo_83 5.06.2009, 19:05:24 |
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 200 Pomógł: 16 Dołączył: 11.01.2009 Skąd: wrocław Ostrzeżenie: (0%) ![]() ![]() |
ok rozumiem że po poprawieniu tego może być, tylko nadal nie działa przeszukanie tabeli w celu znalezienia danego użytkownika i hasła ....
jak to naprawic |
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Pokaż, jak poprawiłeś...
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 200 Pomógł: 16 Dołączył: 11.01.2009 Skąd: wrocław Ostrzeżenie: (0%) ![]() ![]() |
tak jak w Edit 1 wyżej
przynajmniej nie wyświetla żadnego błedu T-string ale nadal pozostaje ten co w poscie wyżej mysql_num_rows() Ten post edytował pablo_83 5.06.2009, 19:18:50 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 6.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj tego (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) jak nie będzie działać to nie wiem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
CO TO JEST?!
Kod $zapytanie = ("SELECT Login, Haslo FROM Users WHERE Login='.sha1($login).' AND Haslo='.sha1($passw).' LIMIT 1"); loginów użytkowników chyba jako hashe sha1 nie trzymasz?! W dodatku używaj ' a nie " Kod $zapytanie = ('SELECT Login, Haslo FROM Users WHERE Login="'.$login.'" AND Haslo="'.sha1($passw).'" LIMIT 1'); O SQLi chyba nie muszę wspominać? $login = admin" /* |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 200 Pomógł: 16 Dołączył: 11.01.2009 Skąd: wrocław Ostrzeżenie: (0%) ![]() ![]() |
szyfrowanie jest zmienione na md5 tak jak pisałem w poście wyżej..., po za tym login nie ma wpływu na poprawnośc kodu nie ważne jak będzie trzymany (czy szyfrowany czy nie) - nie czepiajcie się szczegółów które nie decydują o funkcjonalności tylko są błędami merytorycznymi...
teraz login jest normalnie trzymany w bazie jako char a haslo szyfrowane md5 a o co chodzi z tym $login = admin" /* bo tego kolmpletnie nie czaje (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Google fraza: sql injection
Zapraszam do poczytania. (IMG:http://forum.php.pl/style_emoticons/default/haha.gif) |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 200 Pomógł: 16 Dołączył: 11.01.2009 Skąd: wrocław Ostrzeżenie: (0%) ![]() ![]() |
no tak to luka w zabezpieczeniach... ale nie o to chodzi...
kod zwraca zwykły błąd składni ...? Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/sites/yoyo.pl/p/a/pablo83/lista6/lista_6.php on line 86 Nie ma takiego użytkownika w bazie i nie przeszukuje tabeli w celu sprawdzenia czy dany użytkownik istnieje, najpierw chciałbym rozwiązać ten problem a potem zająć się udoskonalaniem skryptu |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
A teraz pokaż swój cały przerobiony kod...
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 200 Pomógł: 16 Dołączył: 11.01.2009 Skąd: wrocław Ostrzeżenie: (0%) ![]() ![]() |
ja już nie mam pojęcia gdzie szukać błędu i dlaczego cały czas czepia mi się tego mysql_num_rows()...
jest szansa że ktoś coś znajdzie....? jak to naprawić
Ten post edytował pablo_83 7.06.2009, 16:28:36 |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 313 Pomógł: 24 Dołączył: 9.08.2008 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
jak nie zadziałą to po tym $wynik = mysql_query($zapytanie); daj echo mysql_error(); |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 200 Pomógł: 16 Dołączył: 11.01.2009 Skąd: wrocław Ostrzeżenie: (0%) ![]() ![]() |
dzięki wszystkim za pomoc .
katowałem się z tym dwa dni ale w końcu rozwiązanie znalazłem (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) działa a oto kod. Jak ktoś zauważy jakieś błędy merytoryczne itp proszę o info .
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 07:02 |