PHP sigurnost - na sto prilikom izrade neke aplikacije treba obratiti paznju?

U php-u sam svega jednu godinu i mogu reci da sintaksu php-a znam dovoljno dobro i radio sam dosta toga u php-u ali ono sto mi je uvijek promicalo je sigurnost.

E sad bi postavio pitanje, na sto prilikom izrade neke aplikacije treba obratiti paznju sto se tice sigurnosti?

Ono sto bi trebao biti odgovor vecine korisnika je da googlam, ali lakse je googlati ako znas precizno sta da googlas odnosno treba znati probleme da bi mogao naci rjesenja.

http://www.google.hr/?q=how+to+prevent+from+website+attack

:smiley:

XSS, SQL Injection, za početak! :slight_smile:

http://www.salebab.net/teme/sigurnost/

Sve što ulazi na server i sve što iz njega izlazi jer to ugrožava korisnika (XSS).
A tu ti jedino pomaže praksa i naćela koja stoje iza prakse.

Recimo whitelist umjesto blacklist je jedno od jednostavnijih načela za primjeniti a to je da bude određeno što podatak smije biti a ne što ne smije.
Znaći mora biti slovo je bolje od ne smije biti broj ili znak.
A to te u većini slučajeva čini i sigurnim od XSS i SQL Injectiona. To su neki češći napadi.

I treba moći to kvalitetno primjeniti.
Recimo za primjer našao sam u jednom velikoj i poznatoj našoj stranici (sad su napravili redizajn ali prije je prolazilo) da nakon što ubaciš XSS u search, da nakon 2 klika na neki link se XSS izvrši i to otkrio to slučajno, nakon 1 sata pokušaja napada.
I zaključio sljedeće da podaci dolazi na server tu se spremaju u sessiju, zatim se radi ispis u html. Podaci su se filtrirali jedino kod dohvaćanja searcha kroz post i ispisivali se nefiltrirani.
No kod spremanja u sessiju podaci se nisu filtrirali.
Zatim klikom na sljedeći link podaci su se vukli iz sessije i ispisivao se na stranici XSS napad.
I oni su se držali od jedno od načela sigurnosti da se podaci validaraju na jednom mjestu, jer ako ih validiraš svaki puta kad ih koristiš to više nije fleskibilno (iako korištenje tipa je ok, u php bi vjerovatno onda bilo sigurnije koristiti objekte i provjeravati dali je određeni objekt).
No opet oni to nisu uspjeli uspješno primjeniti. Vjerovatno je rješenje napravljeno kao hack.

Imam nekoliko jednostavnih php skripti tj. formi sa po nekoliko input polja koje na submit vraćaju rezultat nekih matematičkih operacija. Nema nikakvog logina ili dodira sa bazom na serveru…
Dakle, skroz jednostavno, ali ipak…

Da li je i u takvim slučajevima preporučljivo stavljati sigurnosne kodove ispred tekstualnih inputa?

Hvala

http://www.webmajstori.net/forum/showthread.php?t=27057

Obrati pozornost na moguće “provale”, odnosno propuste u samoj aplikaciji, ukoliko ona nije zaštićena ili osigurana na određene načine. :wink: