Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Bezpieczna długość zmiennej
Szunaj85
post
Post #1





Grupa: Zarejestrowani
Postów: 392
Pomógł: 7
Dołączył: 11.05.2008

Ostrzeżenie: (0%)
-----


Staram się filtrować dane pochodzące od użytkownika. Mam na myśli różnego rodzaju formularze. Cytat z innej strony: "Zmienna powinna mieć radykalne ograniczenia wielkości, tak aby potencjalny włamywacz nie mógł zablokować naszej strony.". Chcę użyć funkcji strlen aby ograniczyć długość tekstu. I moje pytanie. Jaka jest bezpieczna długość zmiennej pochodząca od użytkownika, aby uniknąć takiej sytuacji? (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif)

Ten post edytował Szunaj85 24.04.2009, 21:00:08
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
batman
post
Post #2





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Czytam i czytam i nadziwić się nie mogę, że ludzie takie bzdury wypisują. Długość zmiennej nie ma żadnego znaczenia jeśli chodzi o bezpieczeństwo. Nawet w 50 znakach można zmieścić kod z SQL Injection.
Najważniejszą rzeczą jest filtrowanie danych, a nie ich skracanie. Czyli:
1. Wywalanie kodu html/js tam, gdzie nie jest on potrzebny.
2. Walidowanie danych pod kątem ich typu.
3. Rzutowanie zmiennych przed ich użyciem. Jeśli wiadomo, że dana zmienna ma być liczbą, wówczas dla bezpieczeństwa lepiej ją zrzutować na int lub float.
I kilka innych, które akurat wyleciały mi z głowy.
Go to the top of the page
+Quote Post
ddiceman
post
Post #3





Grupa: Zarejestrowani
Postów: 326
Pomógł: 121
Dołączył: 23.07.2008
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat(batman @ 24.04.2009, 23:12:26 ) *
Czytam i czytam i nadziwić się nie mogę, że ludzie takie bzdury wypisują. Długość zmiennej nie ma żadnego znaczenia jeśli chodzi o bezpieczeństwo. Nawet w 50 znakach można zmieścić kod z SQL Injection.
Najważniejszą rzeczą jest filtrowanie danych, a nie ich skracanie. Czyli:
1. Wywalanie kodu html/js tam, gdzie nie jest on potrzebny.
2. Walidowanie danych pod kątem ich typu.
3. Rzutowanie zmiennych przed ich użyciem. Jeśli wiadomo, że dana zmienna ma być liczbą, wówczas dla bezpieczeństwa lepiej ją zrzutować na int lub float.
I kilka innych, które akurat wyleciały mi z głowy.

Batman, bezpieczeństwo to nie tylko obrona przed SQL Injection. Co jeśli do pola typu VARCHAR(255) spróbujesz wstawić 500 znaków? W aktualnych wersjach MySQLa nic - rekord się nie doda. We wczesniejszych dodawał sie, ale ucięty - jeśli przez jakiś CMS wstawiany był kod HTML, to można było stracić zamykające tagi i tym samym zniszczyć układ strony. Ale byly też przypadki, że dalo sie tym mechanizmem uszkadzać tabele, co możesz sprawdzić tu i nie oznacza to, ze już takich problemów nie ma i nie będzie. Nie mów zatem, ze bzdurą jest ochrona dlugosci danych przed ich wstawieniem do BD.

Ten post edytował ddiceman 29.04.2009, 10:04:56
Go to the top of the page
+Quote Post

Posty w temacie
- Szunaj85   [PHP]Bezpieczna długość zmiennej   24.04.2009, 20:24:49
- - Spawnm   a daj link do tego arta może chodziło o atak XS...   24.04.2009, 21:15:25
- - Szunaj85   http://www.webinside.pl/php/artykuly/197 Tam pisze...   24.04.2009, 21:37:26
- - batman   Czytam i czytam i nadziwić się nie mogę, że ludzie...   24.04.2009, 22:12:26
|- - ddiceman   Cytat(batman @ 24.04.2009, 23:12:26 )...   29.04.2009, 10:00:12
- - kamil4u   Cytat1. Wywalanie kodu html/js tam, gdzie nie jest...   24.04.2009, 22:20:54
- - kamil4u   Zgoda, ale to ma się nijak do bezpiecze...   24.04.2009, 22:28:18
- - kamil4u   Rozmawiamy o bezpieczeństwie naszej aplikacji. Po ...   24.04.2009, 22:36:10
- - kamil4u   Pisałem, że rozmawiamy o bezpieczeństwie nie o est...   24.04.2009, 22:49:31
- - v1t4n   bezpieczenstwo bezpieczenstwem ale jak mi ktos zam...   25.04.2009, 01:36:54
- - batman   Cytat(kamil4u @ 24.04.2009, 23:49:31 ...   25.04.2009, 05:53:11
- - Crozin   @batman: nic się nie stanie. Zostanie wyświetlony ...   25.04.2009, 08:13:21
- - batman   @Crozin Pozostaje mi tylko jedno do powiedzenia - ...   25.04.2009, 08:19:01
- - Crozin   Pamiętaj, że cały czas mówimy w odniesieni do:Cyta...   25.04.2009, 08:23:27
- - vokiel   Odnośnie tematu topiku ("Bezpieczna długość z...   25.04.2009, 13:42:18
- - Szunaj85   Nie spodziewałem się, że rozmowa pó...   25.04.2009, 21:07:20
- - Spawnm   mysql_real_escape_string" title="Zobacz w manualu ...   25.04.2009, 21:17:03
- - batman   CytatOdnośnie tematu topiku ("Bezpieczna dług...   25.04.2009, 21:37:43
- - Spawnm   jako osoba filtrująca tylko przy zapisie mam pytan...   25.04.2009, 21:55:21
- - l0ud   W takim wypadku trzeba najpierw przefiltrować dane...   25.04.2009, 22:25:02
- - dr_bonzo   Ja nie kasuje tagow, i nie zapisuje w bazie danych...   25.04.2009, 22:34:53
- - Szunaj85   Przeczytałem wasze posty i poszperałem w...   28.04.2009, 21:58:24
- - batman   Moim zdaniem zmienna powinna być czyszczona z tagó...   29.04.2009, 07:14:13
- - nieraczek   Stosując strip_tags przed zapisem do bazy mo...   29.04.2009, 08:00:35
- - nospor   dane, które z założenia nie powinny zawi...   29.04.2009, 08:00:43
- - nieraczek   ok dzieki nospor A co z: [PHP] pobierz, plaintex...   29.04.2009, 08:12:31
- - nospor   @nieraczek jesli juz tak bardzo chcesz komus pozwo...   29.04.2009, 08:14:43
- - nospor   @ddiceman akurat batman mowiąc "bzdura" ...   29.04.2009, 10:07:04
- - batman   Ludzie. Autor nie pytał się czy trzeba sprawdzać d...   29.04.2009, 10:09:07
- - megawebmaster   Przy okazji - strip_tags przecież umożliwia przepu...   29.04.2009, 12:07:27


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 08:41