![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 1 Dołączył: 28.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam prośbę o sprawdzenie bezpieczeństwa skryptu logowania z różnymi uprawnieniami, wszelkie uwagi sugestie mile widziane. Dodatkowo prosiłbym o jakiś pomysł na zabezpieczenie pliku baza.php Login w przykładzie asd@asd.pl hasło admin. Pliki do pobrania z http://vlaho.pl/test.7z plik: logowanie.php
plik: baza.php
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 702 Pomógł: 65 Dołączył: 16.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
zamiast mysql_escape_string skorzystaj mysql_real_escape_string
załóż klucze w tabeli SQL na login i passwd |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 1 Dołączył: 28.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
chodzi o Primary Key?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 702 Pomógł: 65 Dołączył: 16.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
lepiej INDEX
po za tym klucze na polach VARCHAR to zło ,dlatego stosuje się konwersje string => int aby przyspieszyć wyszukiwanie po indwidualnych stringach w tabeli , swoją drogą ,patrząc na ten kod można go bardziej uprościć ,po co 2 razy sprawdzać mail w tabeli admins ? jak można raz ,razem z hasłem |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 1 Dołączył: 28.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
no dobra dzięki, już prowadzam zmiany! A może jakieś inne uwagi na temat samego bezpieczeństwa
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Na pewno nie jest bezpieczne przechowywać hasła i kody w sesjach.Ja bym radził zapisywać id w sesji i odwoływać się po nim do pola z hasłem lub aktualnym kodem w twojej bazie danych.
Ten post edytował Niktoś 5.03.2012, 10:35:14 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 1 Dołączył: 28.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Rozumiem że id użytkownika? Dzięki za uwagę. Myślałem że skoro hasło jest w md5 to jest w miarę bezpieczne, oczywiście jeśli mowa o normalnych hasłach a nie jakiś banalnych.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
W md5 bezpieczne??Raczej nie powiedziałbym.Ja bym raczej użył sha1+sol lub sha2.Jak już powiedziałem nie należy przechowywać ważnych danych w sesjach,co najwyżej id lub ewentualnie login usera.
Ten post edytował Niktoś 5.03.2012, 10:48:55 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 1 Dołączył: 28.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
ok, dzięki za informacje. Popołudniu naniosę poprawki.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Odnośnie bezpieczeńśtwa ,a gdzie masz walidacje pól formularza? Zabezpiecz zapytania SQL przed sql injection.Przydało by się jakąś recaptche zaimplikować na formularze rejestracji jak to ma być super bezpieczne.Nie chciałbyś aby jakiś bot napierniczał ci śmiecie do bazy danych.Troszeczkę roboty jeszcze Ciebie czeka.
Ten post edytował Niktoś 5.03.2012, 11:04:00 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 1 Dołączył: 28.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mam walidacje loginu czyli e-maila zrobiona w jQuery plugin Validation oraz antyspam za pomocą SBLAM.
mam coś takiego dodane po uwagach gothye $login=mysql_real_escape_string(strip_tags($_POST['login'])); $pass=mysql_real_escape_string(strip_tags($_POST['password'])); Muszę jeszcze w paru miejscach zmamienić $_POST['login'] na $login po filtracji A jaki sposób można się jeszcze zabezpieczyć przed sql injection? |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Czyli masz walidacje po stronie klienta , a gdzie walidacja po stronie serwera.Ta walidacja będzie pięknie ładnie działać z włączoną obsługą js ,a co jeśli ktoś to wyłączy w opcjach swojej przeglądarki-wtedy będzie sobie mógł wpisać w pola formularza wszystko co będzie chciał włącznie z metodami ataku xss.Zrób walidacje także po stronie serwera używając wyrażeń regularnych.
Ten post edytował Niktoś 5.03.2012, 11:24:42 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 1 Dołączył: 28.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za odpowiedzi i podpowiedzi. Mam jeszcze jedno pytanie. W jaki sposób najlepiej przechowywać dane do logowanie do bazy danych? np plik baza.php w którym mam zapisany login,hasło, nazwę bazy i konektor(mysql_connect) zabezpieczony sposobem z atrykułu
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 15:35 |