![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 119 Pomógł: 0 Dołączył: 4.01.2011 Ostrzeżenie: (20%) ![]() ![]() |
Cześć. Poszukuję skryptu do logowania użytkownika [PHP/MYSQL].
Stwórzmy razem dobry darmowy skrypt. Może ktoś wkleić dobrego gotowca? Razem będziemy ulepszać zabezpieczenia skryptu przed atakami. Dużo jest gotowców lecz nie są bezpieczne ![]() Co najlepiej wykorzystać? Ten post edytował seba199696 21.05.2011, 23:35:54 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 35 Dołączył: 21.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Generlanie logowanie to prosta sprawa: w bazie tryzmamy login+solony hash hasla. Dodatkowo w sesji zapisujesz md5() utworzone z ip oraz przeglądarki użytkownika.
Do łącznia się z bazą używasz PDO. Przy sprawdzaniu czy zalogowany weryfikujesz md5() w sesji (coby nikt nie kradł sesji innemu użytkownikowi). Ot cała filozofia. -------------------- flexiCMS v2 [|||||||+--] 75% done
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Przenoszę
-------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 264 Pomógł: 11 Dołączył: 9.05.2011 Skąd: Gdańsk Ostrzeżenie: (10%) ![]() ![]() |
Sam go chce ulepszyć więc wkleję mój skrypt:)
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 275 Pomógł: 32 Dołączył: 21.03.2006 Skąd: Warszawa Ostrzeżenie: (20%) ![]() ![]() |
Kod $login = htmlspecialchars(stripslashes(strip_tags(trim($_POST["login"])))); $haslo = htmlspecialchars(stripslashes(strip_tags(trim($_POST["haslo"])))); Jeszcze zapomniałeś mysql_real_escape_string ![]() |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 119 Pomógł: 0 Dołączył: 4.01.2011 Ostrzeżenie: (20%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 566 Pomógł: 35 Dołączył: 21.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Czy to jest bezpieczne? lepiej łączyć się w tym samym skrypcie? Jeśli nie ma danych od użytkownika to include jest jak najbardziej bezpieczne. -------------------- flexiCMS v2 [|||||||+--] 75% done
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 264 Pomógł: 11 Dołączył: 9.05.2011 Skąd: Gdańsk Ostrzeżenie: (10%) ![]() ![]() |
w db.php łączy się z bazą danych:)
konole gdzie dodać "mysql_real_escape_string" ![]() ![]() |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 119 Pomógł: 0 Dołączył: 4.01.2011 Ostrzeżenie: (20%) ![]() ![]() |
"Do łącznia się z bazą używasz PDO." O co chodzi z tym PDO? Jak to wykorzystać?
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 690 Pomógł: 92 Dołączył: 6.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 119 Pomógł: 0 Dołączył: 4.01.2011 Ostrzeżenie: (20%) ![]() ![]() |
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
A ja zaproponuję inną możliwość dla zwiększenia bezpieczeństwa:
http://dev.mysql.com/doc/refman/5.0/en/sec...onnections.html |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
A na co komu takie logowanie całkowicie oderwane od jakiegokolwiek systemu? Przecież powinno być oczywiste, że mechanizm uwierzytelniania użytkownika to część platformy/systemu, na bazie której tworzymy naszą stronę WWW, a nie żaden samodzielny byt, bo tak to to nigdy nie będzie ani bezpieczne, ani działające. Generalnie na początek polecam bardziej pogłębienie swojej znajomości PHP oraz zasad działania poszczególnych funkcji, bo to, co z tym kodem wyrabiacie, to jakiś horror.
1. Brak sprawdzania ustawień magic_quotes - na połowie serwerów ten kod nie będzie działać. 2. Gratulacje, dzięki temu genialnemu produktowi myśli informatycznej pojawiła się podatność na SQL Injection.
Miło, że sesja nie jest w ogóle zabezpieczona przed przechwyceniem...
Pomijając już wołający o pomstę do nieba sposób wstawiania danych do zapytania, który w połączeniu z pierwszym zacytowanym przeze mnie fragmentem kodu gwarantuje nam piękne SQL Injection, mamy tu "miszczostwo" optymalizacji. Po jakiego grzyba dokładnie ten sam wiersz jest później pobierany drugi raz? Czy nie prościej jest pobrać go raz, z pominięciem warunku AND status=0 i sprawdzić ten status już w skrypcie? Rid -> i na co komu SSL w komunikacji z bazą danych, kiedy kod PHP leży i kwiczy? Zapominasz o prostym fakcie, że żaden administrator profesjonalnego hostingu nie jest na tyle głupi, by pchać komunikację z bazami danych jawnie przez Internet. Nawet jeśli serwer bazodanowy i serwer WWW nie są tą samą maszyną, będą umieszczone w tej samej sieci chronionej pierdyliardem firewalli filtrujących ruch i posiadającej jeszcze wewnętrzne zabezpieczenia. Jak komuś to będzie potrzebne, to administrator dobry powie prosto i jasno: proszę łączyć się z bazą poprzez SSL, bo taka jest polityka bezpieczeństwa. W przeciwnym wypadku świadczy to tylko o zerowych kompetencjach autora takiego kodu, który nie ma zielonego pojęcia, co robi i dlaczego właściwie to robi. Generalnie sorry, że rozbijam Wasze marzenia, ale napisanie bezpiecznego logowania to bułka z kromką, ale pod warunkiem, że się umie programować, umie myśleć i umie korzystać z poszczególnych narzędzi. Jak będziecie tak dorzucać różne głupoty nie mając zielonego pojęcia o tym, jak to właściwie działa, to nigdy nie osiągniecie zamierzonego efektu. -------------------- Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 13:17 |