Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 93 Pomógł: 0 Dołączył: 24.12.2009 Ostrzeżenie: (20%)
|
Witajcie, mam kilka pytań odnośnie bezpieczeństwa, w PHP i filtracji danych.
Od razu powiem na wstępnie, że przeczytałem całą książkę: "PHP5 Bezpieczne programowanie J.Ross, wydawnictwa Helion", oraz wiele wiele stron poświęconych bezpieczeństwu. Ale kto pyta nie błądzi (IMG:style_emoticons/default/smile.gif) A więc moje pierwsze pytanie, może trochę głupie no ale...: Przycisk wysyłający formularz, i po którym jest sprawdzane w PHP, czy został wsyłany:
Sprawdzanie, w PHP: Czy takie coś jest bezpieczne, czy w taki sposób ktoś może wstrzyknąć tutaj jakiś kod, czy muszę jeszcze jakoś zmienną $_POST['register'] filtrować? Przy każdym wysyłaniu formularza sprawdzam dane, w taki sposób:
Czy sprawdzanie takie jest zarówno bezpieczne jak i również optmalne pod względem wydajności, taki typ stosuję w każdym formularzu na stronie, a jest ich sporo. A może napisać jakąś klasę do usprawnienia tego procesu, niestet z klasami niezabardzo daję sobie radę? Tak, aby dane były sprawdzane, np. w taki sposób:
Pozdrawiam, i liczę na Wasze rady i propozycje (IMG:style_emoticons/default/smile.gif) Ten post edytował arkos 11.02.2012, 19:07:30 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%)
|
1. przed wstawieniem danych do bazy użyj mysql_escape_string
2. przy pobieraniu danych z bazy filtruj wszystkie parametry (głównie te, które pobierasz z geta/posta), używając mysql_escape_string, rzutowania danych oraz ich walidacji 3. przy wyświetlaniu na stronie danych wpisanych przez użytkowników zawsze używaj htmlentities lub strip_tags, aby nikt nie wstrzyknął Ci swojego kodu javascript na stronę imho to są 3 najważniejsze sprawy, związane z bezpieczeństwem. w Twoim przypadku to "'`users` WHERE `login`="'.$login.'"'" jest potencjalnie niebezpieczne. wyobraź sobie że w $login masz wpisane Kod 1' OR 1='1
|
|
|
|
arkos [PHP] Kilka pytań odnośnie bezpieczeństwa i filtracji danych. 11.02.2012, 18:06:06
arkos ActivePlayer, z góry dzięki za odpowiedź.
Tak, oc... 11.02.2012, 18:36:09
wNogachSpisz W zależności jakich danych oczekuje, robie to tak:... 11.02.2012, 19:31:46
arkos Dzięki.
Czekam dalej na propozycje i odpowiedzi.
... 11.02.2012, 22:48:09
Daimos Cytat(wNogachSpisz @ 11.02.2012, 19:31... 11.02.2012, 22:55:49
wNogachSpisz Cytat(Daimos @ 11.02.2012, 22:55:49 )... 12.02.2012, 00:34:12
wNogachSpisz Cytat(desavil @ 12.02.2012, 12:38:50 ... 12.02.2012, 12:43:22
arkos Ok, dzięki. Już się nauczyłem jak sprawdzać inita ... 15.02.2012, 16:19:33
wNogachSpisz 1. Nie rozumiem pytania.
2. To zależy.
3. Nie rozu... 15.02.2012, 16:21:46
arkos Jak mam powtarzać, jak wszystko jest w pierwszym p... 15.02.2012, 16:23:28
wNogachSpisz Chętnie odpowiem na każde pytanie. Problem w tym ż... 15.02.2012, 16:25:55
arkos W takim razię napiszę je jeszcze raz:
1. Pytanie:... 15.02.2012, 16:41:07
wNogachSpisz 1. W tej zmiennej może być wszystko, np. tablica z... 15.02.2012, 16:57:27
arkos Nie rozumiem odpowiedzi na 4 pytanie.
Jeżeli on wt... 15.02.2012, 17:13:41
wNogachSpisz Jeśli wstrzyknie w URL, to może taki adres komuś p... 15.02.2012, 17:24:43
arkos Ok, to byłoby na tyle myślę.
Dzięki, jak coś mi s... 27.04.2014, 17:57:05
com nie, a w zasadzie tamto było troche wymyślaniem ko... 27.04.2014, 18:14:05 
arkos Cytat(com @ 27.04.2014, 19:14:05 ) ni... 27.04.2014, 18:19:12
com no tak, ale w specyfikacji masz określone, a od mq... 27.04.2014, 18:33:34 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 18:13 |