![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 0 Dołączył: 2.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
witam,
1. zabezpieczyłem system wg wskazówek zawartych na stronach: - http://php.pl/Wortal/Artykuly/Bezpieczenst...wa-skryptow-PHP - http://webmade.org/porady/bezpieczenstwo-p...on-xss-csrf.php oczywiście w internecie są setki podobnych artykułów, jednak nie wnoszą niczego nowego do dyskusji o bezpieczeństwie czy informacje zawarte w nich są wystarczające? czy mam na coś innego zwrócić uwagę? 2. moje logowanie wygląda tak, że podaję login i hasło, system sprawdza, czy owy login jest w bazie, jeśli jest, to sprawdza, czy podane hasło po przejściu przez md5 jest zgodne z tym z bazy danych jeśli jest powstają dwie sesje, w jednej podany jest numer ID użytkownika, a w drugiej znajduje się hasło po przejściu po funkcji md5 następnie po każdym odświeżeniu strony, system wie, że mam te dwie sesje, ale i tak je sprawdza, czy użytkownik o ID z sesji ma w bazie takie samo hasło jak te z sesji czy to bezpieczne? czy może warto coś z tym zrobić? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
1) Nie dwie sesje, a dwie wartości w jednej sesji.
2) Nie używaj md5 bo to już od dawna nie jest żadnym zabezpieczeniem 3) Nie widzę sensu za każdym razem sprawdzania danych sesji w tym co w bazie. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 0 Dołączył: 2.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
1. racja
2. załóżmy, że hasło administratora to QWERTYUIOP - i tak to hasło mam mieć zapisane w bazie danych? czy zakodowanie md5 nie daje już kompletnie nic? zatem jakich innych zabezpieczeń mam użyć? 3. to tylko dodatkowe zabezpieczenie, które raczej nie obciąża zbytnio serwera |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
ad2) Była o tym mowa wiele razy. Jest nawet przypiety temat:
http://forum.php.pl/index.php?showtopic=44...t=0&start=0 ad3) No tak, bez sensowne latanie po bazie za każdym razem dla 10 userow moze i nie jest mulaste, ale dla większej ilości... -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Jak zwykle zgadzam się z przedmówcą
![]() Co do pkt. 2. polecam PHPass Jeśli chodzi o pkt. 3. to samo sprawdzanie zalogowania powinieneś sprawdzać tylko po tym czy w sesji jest informacja o zalogowaniu usera. Innymi słowy jeśli masz zalogowanego gościa to przechowujesz w sesji pod kluczem na przykład "user_id" id zalogowanego użytkownika. Jeśli taki klucz istnieje - ktoś jest zalogowany (ten którego ID jest pod tym kluczem). Trzymanie id i hasła w sesji nie dość, że jest zbędne to zupełnie nie wnosi nic nowego. Jedyna ogólna opcja aby się dostać do czyjegoś konta to poznać ID sesji tego użytkownika i ustawić odpowiednie ciasteczko - przed tym powinieneś się bronić. Jak? Możesz na przykład w sesji, po zalogowaniu zapisać dane na temat IP, User-Agent gościa. Sprawdzając czy jest ktoś zalogowany wtedy sprawdzasz czy istnieje w sesji pole z ID zalogowanego użytkownika i jeśli tak to dodatkowo sprawdzasz czy w drugiej zmiennej sesyjnej, gdzie przechowujesz info o user-agent i/lub IP, są poprawne dla aktualnie sprawdzanego użytkownika dane. Wydaje mi się, że tyle starczy na start ![]() -------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 0 Dołączył: 2.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
2. możesz po krótce powiedzieć, jak działa PHPass?
3. czyli ktoś się loguje, ja sprawdzam czy dane się zgadzają, jeśli tak, wykonuję taki kod:
i potem, aby sprawdzić, czy ktoś jest faktycznie zalogowany, dodać:
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ślicznie
![]() EDIT: Co do PHPass pobierz go po prostu - tam masz przykłady z tego co pamiętam, poczytaj i poszukaj na google o tym - jest trochę materiałów Ten post edytował Sephirus 22.10.2012, 13:22:48 -------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 0 Dołączył: 2.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
sprawdzę to PHPass
2. załóżmy, że hasło administratora to QWERTYUIOP - i tak to hasło mam mieć zapisane w bazie danych? czy zakodowanie md5 nie daje już kompletnie nic? czy Wy też macie hasło w tak prosty sposób zapisane w bazie danych, czy po prostu ten problem rozwiązuje PHPass? |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat 2. załóżmy, że hasło administratora to QWERTYUIOP - i tak to hasło mam mieć zapisane w bazie danych? czy zakodowanie md5 nie daje już kompletnie nic? czy Wy też macie hasło w tak prosty sposób zapisane w bazie danych, Przecież odpowiedziałem ci już na to pytanie w moim poprzednim poście. Po co je powielasz? Podałem ci nawet linka do dość pokaźnego tematu, który wyjaśnia kwestie hashowania.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 0 Dołączył: 2.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
przepraszam za problemy, nie zrozumiałem do końca
poza tym, czy mam zwracać na coś jeszcze uwagę? mowa o tych artykułach, czy są jeszcze jakieś błędy, które zdarzają się często programistom, a mogą doprowadzić do katastrofy? |
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
A przeczytałeś przyklejone wątki na forum? Wyszukiwarka nie gryzie. Tylko urywa ręce.
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 239 Pomógł: 0 Dołączył: 2.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
1. pobrałem sobie to: http://www.openwall.com/phpass/phpass-article-3.tar.gz
i skupiłem się na katalogu demo4, który najbardziej mi odpowiadał przykładowy kod był spory, a jego konstrukcja mi nie odpowiadała, więc skróciłem go tak:
czy dobrze zrozumiałem jego działanie? 2. żeby kod nieco skrócić, zmieniłem nieco klasę:
bo i tak nie wiem, do czego służą te parametry, więc wpisałem je na stałe 3. jak rozumiem, każda fraza może mieć kilka/kilkanaście swoich wersji, bo gdy odświeżałem stronę dla danej zmiennej, skrypt tworzył zupełnie inny hash 4. czy coś jeszcze powinienem wiedzieć o tym skrypcie? Ten post edytował marcinek37 22.10.2012, 17:29:50 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 17.05.2025 - 10:09 |