![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 22.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Zaczynam małą zabawę z php i mysql i chciałbym poprosić Was o pomoc. Stworzyłem sobię bazę danych, a w niej tabelkę users - 2 pola: name i pass (oba varchary). Napisałem również prosty formularz w html, gdzie podajemy nazwę usera i hasło:
Do tego dochodzi plik php w którym sprawdzam czy dany user i hasło znajdują się w bazie:
Teraz chciałbym jakoś najpierw zaszyfrować dane w bazie a następnie użyć jakiejś funkcji deszyfrującej już na poziomie php aby odczytać hasło z bazy. Proszę o pomoc, pozdrawiam.
Powód edycji: dodałem tag (cysiaczek)
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 574 Pomógł: 2 Dołączył: 13.04.2004 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
1. MD5 nie da się rozszyfrować (ale krążą plotki, że już się to udało)
2. jeżeli chcesz "ukryć" hasło to może zrobić tak: md5($zmienna_z_haslem) wtedy spradzanie użytkownika wygląda tak:
Dodatkowo musisz pamiętać o zabezpieczeniach. pozdr, Ten post edytował shpyo 22.11.2005, 23:35:30 -------------------- jQuery, JavaScript i CSS - porady, tutoriale
highlab.pl - blog o technologiach, nauce i programowaniu |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 22.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Co rozumiesz przez 'pamiętanie o zabezpieczeniach'? Co dokładnie spowoduje ukrycie hasła? Czy zostanie ono w jakiś sposób zaszyfrowane w samej bazie danych, tak by nie występował w niej czysty ciąg typu varchar?
Pozdrawiam. P.S. Dodam iż użyłem wspomnianego md5: Zamiast wcześniej napisanego:
Mam teraz:
Jednakże wyskakuje błąd opisany w if:
Czy do md5 biblioteka php_mcrypt.dll powinna być włączona w php.ini (jakby co - jest włączona). Ten post edytował habbakuk 23.11.2005, 07:20:44 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%) ![]() ![]() |
jaka dales max dlugosc varchara w bazie ?
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 574 Pomógł: 2 Dołączył: 13.04.2004 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
1. długość pola z hasłem powinna mieć 32 znaki (ze względu na md5)
2. pisząc 'pamiętanie o zabezpieczeniach' miałem na myśli danie jeszcze addslashes" title="Zobacz w manualu php" target="_manual aby jakiś hAx0r nie zalogowal się na admina ![]() W funkcji spradzającej znalazłem błąd:
Zobacz teraz, podaj też dokładny błąd jaki Ci pokazuje - nie jesteśmy wróżkami ![]() Ten post edytował shpyo 23.11.2005, 10:14:54 -------------------- jQuery, JavaScript i CSS - porady, tutoriale
highlab.pl - blog o technologiach, nauce i programowaniu |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 22.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Zerknę w domu jak wygląda wynik, dzięki
![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 574 Pomógł: 2 Dołączył: 13.04.2004 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
proces rejestracji wygląda tak:
1. ktoś podaje dane (login hasło itp...) 2. php zapisuje te dane, ale hasło już jest kodowane w md5 i zapisywane do bazy (czyli w postaci ciągu 32 znaków), do bazy! Logowanie wygląda tak: 1. ktos podaje login i hasło 2. php sprawdza to robiąc zapytanie do bazy (patrz na górę). Hasło podane przez logującego się musi być zakodowane w md5 (aby porównać je czy jest taki rekord z loginem i hasłem w bazie). Mam nadzieję, że zrozumiałeś ideę logowanie z kodowaniem hasła ![]() -------------------- jQuery, JavaScript i CSS - porady, tutoriale
highlab.pl - blog o technologiach, nauce i programowaniu |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 22.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Zrozumiałem
![]() Pozdrawiam. |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 220 Pomógł: 0 Dołączył: 20.02.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
W procesie rejestracji, do bazy danych wrzucasz hasz hasła, czyli hasło zakodowane w md5; możesz je zakodować albo przez PHPowe md5():
albo przez MySQLowe MD5:
Tak więc, do bazy danych trafia hasz hasła (nie do odkodowania). A kiedy ktoś się loguje, proces przebiega następująco: tworzony jest hasz podanego przez logującego się hasła i tenże hasz, porównywany jest z haszem trzymanym w bazie danych:
Pamiętaj o tym, że z jednego ciągu znaków, choćbyś niewiadomo ile razy traktował go md5(), zawsze otrzymasz taki sam hasz. Ale zmień choćby jeden znak w tym ciągu - otrzymasz zupełnie inny hasz od pierwotnego. Dobrym pomysłem jest dodawanie soli do hasza, dzięki temu, nawet jeżeli ktoś wykradnie ci z bazy danych hasz hasła, to nie będzie mógł skorzystać sobie z gotowej tablicy haszy (można powiedzieć: słownik ciągów znaków i ich haszy), będzie musiał sam taką tablicę wygenerować i w niej szukać wykradzionego hasza, a to mu chwilę zajmie. A jeżeli wykranie więcej haszy, to dla każdego będzie musiał tworzyć oddzielną tablicę. Ale to już temat na osobną dyskusję... ![]() -------------------- Wieczność jest bardzo nudna, szczególnie pod koniec - Woody Allen
/home/env: Apache 2.2 | PHP 5.2 | MySQL 5.1 | FreeBSD 8.0 | NetBeans 6.8 | symfony 1.4 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 22.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
I mam mały problem - za każdym razem gdy uruchamiam:
Pojawia mi się komunikat: Problem z baza danych! Zapytanie zostalo odrzucone! |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 135 Pomógł: 0 Dołączył: 30.09.2005 Skąd: k-rk Ostrzeżenie: (0%) ![]() ![]() |
zapytanie zostało odrzucone gdyż brakuje " ' " apostronfów,
-------------------- There are 10 types of people in the world:
-Those who understand binary, and those who don't... There's no place like 127.0.0.1 |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 22.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cały czas to samo -> ten sam błąd. |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 135 Pomógł: 0 Dołączył: 30.09.2005 Skąd: k-rk Ostrzeżenie: (0%) ![]() ![]() |
powinienes sprawdzac co powiedzał mySQL, inczej ciężko sie zoriętowac co poszło nie tak, stawiam na to iz w tabeli users masz wiecej pol a zapytanie nie podaje wszystkich wartosci:
i jeszcze :
powinno być:
ucisznie (@) parsera nie jest najlepsza metoda, moze doprowadzic do poważnego spadku wydajnosi skryptu. Ten post edytował ghostrider 27.11.2005, 14:48:21 -------------------- There are 10 types of people in the world:
-Those who understand binary, and those who don't... There's no place like 127.0.0.1 |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 22.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
W porządku, hula
![]()
Po wpisaniu danych (czy to dobrych czy złych) ani nie pojawia się komunikat: Niepoprawne dane! ani też index1.html - po prostu wyświetla się pusta strona. Ten post edytował habbakuk 27.11.2005, 15:49:51 |
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 1 566 Pomógł: 37 Dołączył: 14.05.2003 Skąd: Kraków ![]() |
Proponuje zrobić:
|
|
|
-Gość_Seba- |
![]()
Post
#16
|
Goście ![]() |
Witam Panowie mam głupia sprawe wiedze ze macie pojecie o kompach. Mam zone ktora chyba mnie zdradza , korzystamy z tego samego komputera,zmoderowane
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 135 Pomógł: 0 Dołączył: 30.09.2005 Skąd: k-rk Ostrzeżenie: (0%) ![]() ![]() |
![]() skasujcie te posty ...... Ten post edytował ghostrider 30.11.2005, 13:55:52 -------------------- There are 10 types of people in the world:
-Those who understand binary, and those who don't... There's no place like 127.0.0.1 |
|
|
![]()
Post
#18
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Drogi gościu. To smutne co piszesz, ale nie możemy ci pomoc w tym o co prosisz. To juz lekko pod nagiecie prawa podchodzi. W związku z tym moderuje Twoj post
@ghostrider a ty to prosisz sie o warna. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
-kubap0- |
![]()
Post
#19
|
Goście ![]() |
Witam chce skorzystac z MD5 pole haslo w bazie jest polem varchar 32 znakowym ale mam problem.
Oto moj kod
I otzymuje blad : Unknown column '54d7fdf584c92b8555ad6b0c0b58fe84' in 'field list' Nie mam pojecia co moze byc nie tak probowalem juz roznych konfiguracji z md5 w zapytaniu sql i tez ten sam blad |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 890 Pomógł: 65 Dołączył: 13.11.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 05:20 |