![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 339 Pomógł: 12 Dołączył: 22.11.2008 Ostrzeżenie: (20%) ![]() ![]() |
cześć:)
Chciałbym napisać system logowania oparty o mysql i sesje. Chciałbym się dowiedzieć na co muszę zwrócić uwagę podczas pisania takowego skryptu aby dany system był jak najbezpieczniejszy. Moja teoria napisania skryptu: *login.php - Sprawdza czy zostały przesłane dane (login i hasło). Jeśli tak: łączy się z bazą, wyciąga hasło z tabeli users gdzie login jest taki jak ten z POSTu. Jeśli wszystko się zgadza daję do sesji zmienną zalogowany, następnie przekierowuję na index.php (zabezpieczony przed wejściem bez sesji zalogowany). Jeśli nie są przesłane login i hasło pokazuje formularz z hasłem i loginem. *logout.php - Niszczę sesję zalogowany i przekierowuję na index.php *index.php - Sprawdzam czy jest sesja zalogowany jeśli tak - wyświetlam zawartość (u mnie będzie to system newsów) jeśli nie pokazuję link zaloguj i inne szczegóły strony. Wszystko dobrze?? ![]() ![]() ![]() |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 116 Pomógł: 8 Dołączył: 21.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
moze to poczytaj
![]() Temat: Bezpieczenstwo_skryptow_PHP Temat: SQL_Injection_Insertion Temat: podwojne_hashowanie_hasel -------------------- eArena.pl - hosting serwerów gier multiplayer
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 339 Pomógł: 12 Dołączył: 22.11.2008 Ostrzeżenie: (20%) ![]() ![]() |
Dzięki
![]() ![]() napotkałem na dylemat: chcę zarejestrować sesję ale w maualu jest napisane, że:
I teraz czego mam użyć ![]() ![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 910 Pomógł: 44 Dołączył: 20.02.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
użyj poprostu sesji
![]()
Rozpoczecie sesji musi być na samym początku kodu. Nie może być przed tym nawet spacji. Potem dodajesz sobie do tablicy $_SESSION odpowiednie dane jakie chcesz i działasz dalej. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 339 Pomógł: 12 Dołączył: 22.11.2008 Ostrzeżenie: (20%) ![]() ![]() |
Teraz proszę o ocenę tego systemu. Chodzi mi o bezpieczeństwo
![]() http://strarus.cba.pl/testy/login.php Jeśli coś jest źle, to proszę także napisać co muszę zrobić aby to naprawić. aha: login: test hasło: pass Ten post edytował Strarus 6.01.2009, 18:22:55 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 910 Pomógł: 44 Dołączył: 20.02.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
Jak na 1 rzut okiem jest ok. Daj kod to zobaczymy czy w kodzie nie ma jakiś luk.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 339 Pomógł: 12 Dołączył: 22.11.2008 Ostrzeżenie: (20%) ![]() ![]() |
login.php
main.php
logout.php
I jeszcze plik db_connect.inc.php ale jego chyba nie trzeba ![]() |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 910 Pomógł: 44 Dołączył: 20.02.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
Proponuje Ci zrobić takie zapytanie
To zapytanie sprawdza czy w bazie jest rekord gdzie login = login a haslo = haslo i zwraca rekord. Możesz sobie zabezpieczyć dodatkowo przed atakiem dodając:
i przy zmianie nazwy zmiennych posta dodać funkcję jeszcze addslashes(); Jak na mój gust logowanie będzie dosyć bezpieczne i funkcjonalne. Ja tak robię zawsze i działa wszystko ![]() |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 339 Pomógł: 12 Dołączył: 22.11.2008 Ostrzeżenie: (20%) ![]() ![]() |
Dzięki wielkie
![]() Kod 'or 1=1 i % ale nie działały.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 910 Pomógł: 44 Dołączył: 20.02.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
na SQL inject. % działają jeżeli w zapytaniu mamy LIKE. Jest to stosowane do wyszukiwarek. A i jeszcze jedno. Koduj sobie hasła w md5(); Jest mniejsze ryzyko włamania się na czyjeś konto.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 339 Pomógł: 12 Dołączył: 22.11.2008 Ostrzeżenie: (20%) ![]() ![]() |
Nadal nie działa
![]() . Jak wpisuje poprawne dane to i tak pokazuje złe hasło...I jeszcze pytanie: czy mogę dać w sesji np. $_SESSION["zalogowany"] = $row['login']; aby móc potem weryfikować z sesji nazwę użytkownika przy zmianie hasła? Ten post edytował Strarus 6.01.2009, 19:39:41 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 910 Pomógł: 44 Dołączył: 20.02.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
Usuń spację w `login` = '".$login."'
Daj pod $row = mysql_fetch_row($dane); print_r($row); i daj to co ci wyprintuje Możesz tak zrobić, ale lepiej będzie jak zrobisz $_SESSION['login'] = $login; oprócz $_SESSION['zalogowany'] = true; |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 339 Pomógł: 12 Dołączył: 22.11.2008 Ostrzeżenie: (20%) ![]() ![]() |
daje mi wtedy
Kod Array ( [0] => test [1] => pass ) Złe hasło! ... I nadal nie działa... może powrócę do starej wersji?? ![]() |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 910 Pomógł: 44 Dołączył: 20.02.2008 Skąd: Łódź Ostrzeżenie: (20%) ![]() ![]() |
wyprintuj taki sposobem tablice $_POST i porównaj dane.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 20:20 |