![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 13.03.2005 Ostrzeżenie: (0%)
|
Witam,
Wzialem sie ostatnio za skrypt logowania na moją stronke, jednak nie wiem czy jest on dostatecznie bezpieczny(nie znam sie na exploitach itp, wiec nie wiem jak go zlamac:P). Kolejnym problemem jest dodanie pola "Zapamiętaj mnie", zeby informacje ze ktos jest zalogowany byly przechowywane nawet po restarcie kompa itd. Nie znam sie na sesjach, wiedze bralem z paru tutoraiali, i wyszlo cos takiego. BTW. Jak zrobic tak fajnie, ze identyfikator sesji jest przekazywany wraz z adrsem strony(metoda GET), czy cookies są wystarczająco bezpieczne? Skrypt przechowuje informacje w MySql, tablica wyglada tak(export z phpmyadmin)
Skrypt rejestracji (index.php?mode=register)
Forma logowania z skryptem(index.php?mode=login)
a wylogowanie to(index.php?mode=logout)
To wszystko, przepraszam ze moze troche zamotałem, ale mam nadzieje ze zrozumieliscie:> Ten post edytował Axadiw 6.07.2006, 10:56:54 |
|
|
|
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. |
Uzywasz md5(), a varchar w polu haslo w bazie danych ma 200 znaków długości - Ja bym zmienił na 32, bo taka długość ma hash md().
jeśli chcesz zapamietać informacje o logowaniu po restarcie kompa, to nie b ędzie to za bardzo bezpieczne. Jesli jednak koniecznie chcesz, to stwórz sobie własną obsługę sesji - np. zapisuj informacje o zalogowaniu w bazie danych/pliku. Nie polecam jednak tej metody :|. Lepiej logować się od nowa. Ten post edytował Cysiaczek 6.07.2006, 09:39:13 |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 13.03.2005 Ostrzeżenie: (0%)
|
ok, zmienilem dlugosc pola na 32
chyba faktycznie odpuszcze sobie zapamietywanie logowania, a co do reszty skryptu, da rade go jakos zlamać? czy jest odporny na wsio? ;> |
|
|
|
Post
#4
|
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. |
Nie wygląda źle... http://www.php.net/manual/pl/security.php <-- tu jest wiecej
aha. session_register() niedługo zniknie. Używaj $_SESSION[nazwa]=wartosc Ten post edytował Cysiaczek 6.07.2006, 09:50:59 |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 13.03.2005 Ostrzeżenie: (0%)
|
ok, to jeszcze jedno pytanie:
dane sa zapisywane w cookies, a jaki sposob je podejrzeć, czy gdybym sie uparł, bedac zwyklym userem moge zmienić cookie?(gdy zmienie $user_level to moge sie podawac za np admina...) |
|
|
|
Post
#6
|
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. |
A. Jasne. Masz pełną kontrolę nad cookies, bo są na twoim komputerze. nie polecam uzywania cookie do przenoszenia praw dostępu.
|
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 634 Pomógł: 14 Dołączył: 27.05.2006 Skąd: Berlin Ostrzeżenie: (0%)
|
|
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 13.03.2005 Ostrzeżenie: (0%)
|
cos polecasz? przechowywanie danych w mysql a w cookies tylko identyfikator sesji?
jesli tak, to zamiast cookies uzywalbym metody GET(chce sie zabiezpieczyc, gdyby ktos mial w przegladarce wylaczona obsluge ciasteczek) da rade jakos to sprytnie zrobic, zbytnio nie ingerując w kod? |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 634 Pomógł: 14 Dołączył: 27.05.2006 Skąd: Berlin Ostrzeżenie: (0%)
|
nie, w cookies mozesz trzymac dane ale odpowiednio je zabezpiecz, np.
passwordy w md5, szyfrowanie, itd... jak sobie to dobrze ubezpieczysz to wtedy cookies sa bardzo bezpieczne... |
|
|
|
Post
#10
|
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. |
heh. Ciekawe jak php.pl odczytuje cookie... Własnie zmieniłem cookie i dalej jestem zalogowany O.o
|
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 13.03.2005 Ostrzeżenie: (0%)
|
passworda nie musze trzymac podczas przegladania strony(potrzebny tylko podczas logowania, i ew. zmiany hasla)
wiec w cookies trzymam login, status usera(zwykly user,admin, modek itp) i ew. reszta pól wpisywanych podczas rejestracji. jak zakoduje wszystko do md5, to potem nie odkoduje przeciez |
|
|
|
Post
#12
|
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. |
Bo się nie odkodowuje, tylko porównuje (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
|
Post
#13
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 13.03.2005 Ostrzeżenie: (0%)
|
no rozumiem, ale gdzie mam trzymac niezakodowane dane (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)
|
|
|
|
Post
#14
|
|
|
Grupa: Zarejestrowani Postów: 100 Pomógł: 0 Dołączył: 5.06.2006 Ostrzeżenie: (0%)
|
"Zapamiętaj mnie" możesz zrobić przy pomocy ciastek.
Mam chyba gdzieś nawet kod do tego |
|
|
|
Post
#15
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 13.03.2005 Ostrzeżenie: (0%)
|
no, to jak mozesz... (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
i ponawiam prosbe o te szyfrowanie ciastek |
|
|
|
Post
#16
|
|
|
Grupa: Zarejestrowani Postów: 475 Pomógł: 0 Dołączył: 1.04.2005 Skąd: Warszawa Ostrzeżenie: (0%)
|
Zamiast sprawdzania każdego elementu tablicy $_POST możesz użyć foreach - będzie szybciej.
|
|
|
|
Post
#17
|
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 0 Dołączył: 18.07.2003 Skąd: Tarnów Ostrzeżenie: (0%)
|
Cytat
1. Co po tworzysz duplikaty tych samych wartości zmiennych? 2. Nie filtrujesz danych przychodzących z POSTa i ładujesz je wprost do mysql_query() - niezbyt mądre, pogoogluj za SQL Incejtion. |
|
|
|
Post
#18
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 13.03.2005 Ostrzeżenie: (0%)
|
przeciez jest napisane, lekka obrobka tych zmeinnych jest;] jescze htmlspecialchars() dodam i powinno byc dobrze, nie? |
|
|
|
Post
#19
|
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 0 Dołączył: 18.07.2003 Skąd: Tarnów Ostrzeżenie: (0%)
|
przeciez jest napisane, lekka obrobka tych zmeinnych jest;] jescze htmlspecialchars() dodam i powinno byc dobrze, nie? Nie. stripslashes() może Ci tylko zaszkodzić. Załóżmy, że ktoś wpisze taki login: Kod ' OR 1 --- Wtedy wybierze pierwszy lepszy login z bazy. Na forum jest przyklejony topic o SQL Injection, na prawdę warto poczytać. Ten post edytował borec 6.07.2006, 15:26:54 |
|
|
|
Post
#20
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 13.03.2005 Ostrzeżenie: (0%)
|
ok, przepuszczam zmienne przez mysql_real_escape_string() to wystarczy, czy addslashes czy cos innego musze jeszcze
|
|
|
|
![]() ![]() |
|
Aktualny czas: 20.12.2025 - 02:07 |