osetrenie bezpecnosti v php

Programovacie jazyky, rady, poradňa...
berynatorko
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 120
Registrovaný: 24 jan 2007, 1:04

osetrenie bezpecnosti v php

Príspevok od používateľa berynatorko »

caute neviem ci sa tu takato tema uz objavila, ale odpoved na moju otazku moze zaujimat viacerych ludi, ktori sa zaoberaju tvorbou www stranok a ich bezpecnostou. rozmyslal som nad moznymi bezpecnostnymi chybami a sposobom vyvarovania sa ich pri tvorbe webu.

spomeniem ich par, ktore ma momentalne napadnu, ak vas napadnu dalsie sup sem s nimi :) nehanbite sa dat sem akukolvek zmysluplnu radu ohladne bezpecnosti.

- phpsafe mode
- osetrenie obsahu premennych od roznych php a html znakov, aby nemohli posobit na databazu okrem zelaneho sposobu
- nastavit co najprisnejsie CHMOD adresarov a suborov, podla potreby
- pouzivat radsej POST ako GET, hlavne v pripadoch ak sa predavaju relativne tajne informacie (nie ako v meliorannis.cz, kde pred par rokmi po celu dobu hrania bolo v url riadku vidno prihlasovacie meno a heslo hraca - nezakodovane :D )
- ak je mozne pouzivat roznych pouzivatelov databazy, kazdemu dat ine prava a pouzivat len takeho uzivatela ako je treba na danu operaciu, nie s vyssimi pravami

viem ze tieto veci su vacsine z vas zname, ale mensie zosumarizovanie hadam nezaskodi
Mek
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4661
Registrovaný: 23 mar 2005, 23:00
Bydlisko: ZA <-> TN
Kontaktovať používateľa:

Príspevok od používateľa Mek »

ano, pridam este nutnost kontrolovat data, ci su take, ako sme ocakavali v requeste - tj. co ma byt cislo, ci to je naozaj cislo (cez is_int() a intval()), potom to, co musi byt nastavene, ci je naozaj nastavene (cez isset() a empty()), a takto kontrolovat aj odoslane POST data (lebo aj tie sa daju zmanipulovat).
wasil
Novice
Novice
Príspevky: 4
Registrovaný: 26 nov 2007, 11:24

Príspevok od používateľa wasil »

a to co hazeme do DB ostrit

Kód: Vybrať všetko

mysql_real_escape_string();
vsechny veci co bude vepisovat uzivatel urcite osetrit

Kód: Vybrať všetko

htmlspecialchars();
pri dotazech mysql zadavat klidne i LIMIT 1, pokud jde o unikatni radek.

Ošetřovat co vůbec do fopen jde, pokud budete prenaset v URI neco co bude pristupovat k souborum, otevirat, mazat nebo "includovat" prohnat nějakou funkcí která z URI ktera ponecha pouze 0-9A-Za-z.

Při nutném uploadu doporučuji využít HTTP_Upload abychom mohli zůstat v safe modu, protože ten FTP zakazuje, a vše co není povoleno zakázat, takže určitě kontrolovat přípony co nám kdo posílá.

$_COOKIE nevěřte tj to samé jako $_GET. Využívejte superglobální proměnné "register_globals" zakažte.

veškerá hesla solte a hashujte spíše pomocí SHA1, MD5 byla prolomena, SHA1 sice taky ale ne se solí :wink:
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

V php6 má byť safe_mode odstránený (ak to nezmenili). Dôvod je ten, že to bezpečnosť zvyšuje minimálne a pritom to dáva falošný pocit bezpečia. ;)
wasil
Novice
Novice
Príspevky: 4
Registrovaný: 26 nov 2007, 11:24

Príspevok od používateľa wasil »

No PHP6 je celkem daleka budoucnost....hodne hostingu nestacilo jeste nahrat php5 :D
mastermind
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4810
Registrovaný: 09 feb 2005, 13:17

Príspevok od používateľa mastermind »

wasil napísal:No PHP6 je celkem daleka budoucnost....hodne hostingu nestacilo jeste nahrat php5 :D
to sa velmi rychlo zmeni. releasy php 4 koncia 31.12.2007 a criticke fixy sa budu robit len do CSV, aj to len do 28.8.2008.po tomto datume uz nebude verzia 4 supportovana.
ak si zoberieme do uvahy ze menne priestor a late static binding budu implementovane uz vo verzii 5.3 tak migracia na novsiu verziu by mala byt pre kazdeho vyvojara radostou. Ak samozrejme nema nekoncepcne a nemodularne pisany kod.
a verzia 5.3 ma byt vydana zaciatkom roka. v csv je dostupna uz teraz
Napísať odpoveď