ugrás a tartalomhoz

Milyen fontos hibákra kell figyelni fejlesztéskor?

yasp87 · 2010. Jún. 7. (H), 20.40
Sziasztok!

Elsősorban tapasztalt programozókat szeretném megkérdezni (de nem csak!), hogy php-ben fejlesztéskor milyen hibákra kell nagyon figyelni, ami biztonság szempontjából veszélyes lehet? Input adatok szűrésére használt függvényekkel tisztában vagyok, de például olvastam már a bizonyos globális változókról, ami valamiért problémát jelent, de elvileg a php5-ben már megoldották ezt. Ezzel már nem kell foglalkozni?

Milyen kevésbé ismert buktatók lehetnek még? Linket is írhattok.
 
1

Sok minden

janoszen · 2010. Jún. 7. (H), 22.22
Ha security szempontból kérdezed:

  • SQL injection: magic_quotes off, helyette mysql_real_escape_string
  • XSS: HTML inputot vágd ki, cseréld le a speciális karaktereket.
  • CSRF: Legyen egy per-session egyedi azonosító amit minden űrlapban és AJAX kérésben elküldesz és ellenörzöl is.
  • Privilege elevation, URL manipulation (bypass)
  • Ne lehessen a megfelelő URL-t beírva hozzáférni az alkalmazásod kényes részeihez (tedd a webrooton kívül)
  • Ha kriptográfiával (jelszó hasheléssel) foglalkozol, ne próbálj meg mindenféle trükkös hashelést kitalálni mert csak rontod az értékkészletet, helyette használj jól bevált hash+salt műveleteket.
  • Erősítsd a felhasználókban azt a tudatod hogy nem küldesz nekik anoním levelet, ne vegyék be a phishing leveleket.


Hasznos jótanács: Nézd meg az ErrorExceptiont. Minden hibát (notice-t is) alakíts át Eceptionné. NAGYON gyorsan le fogsz szokni a notice-ok benne hagyásáról. Ez általában jótékony hatással van a PHP kód biztonságára is.
2

+1: szerver oldalon _mindig_

deejayy · 2010. Jún. 8. (K), 07.25
+1: szerver oldalon _mindig_ csinálj inputellenőrzést, nem elég a kliens oldali javascriptben.
3

Épp a porondon van egy cikk

Török Gábor · 2010. Jún. 8. (K), 09.31
Épp a porondon van egy cikk ebben a témában.
Milyen bugokba, problémákba lehet belefutni egy online játék készítése során? Bár a konkrét téma valószínűleg nem érint tömegeket, azért vannak olyan tanulságok, amiket minden fejlesztő levonhat és hasznosíthat magának. A tapasztalatok a Zandagort nevű PHP–MySQL–AJAX-ban írt, böngésző alapú MMO stratégiai játék fejlesztéséből származnak.
4

Globális változók

Joó Ádám · 2010. Jún. 8. (K), 13.04
A register_globals-ra gondolsz.