AuthorAleksandar Babić

Upravljanje vremenom – da li i drugi to rade?

time managementNedavno sam sa ostalim kolegama iz PutovanjaInfo & Infostuda prisustvovao dvodnevnom seminaru „Time management“ koji je vodio Zvezdan Horvat iz firme Adizes. Seminar se odvijao na prelepom Majkinom salašu, na Paliću. Priroda, hrana, druženje, obuka, radionice. Zaista zadovoljavajuće i nikako protraćeno vreme.

Zvezdan je odličan predavač. Ukazao nam je na gomilu problema sa kojima se možemo susreti, a sve to je potkrepio paralelnim primerima problema iz svakodnevnog života. Svakako je seminar ostavio pozitivan utisak na sve nas, motivisao i naterao da bolje organizujemo svoj život i vreme, ali i najvažnije – da razmišljamo na drugi način.

Continue reading

Cross Site Scripting – XSS (Sigurnost PHP aplikacija – 4. deo)

Ovo je četvrti u seriji članaka o sigurnosti PHP aplikacija. Pogledajte Sigurnost PHP aplikacija, Osnove sigurnosti i Validacija i filtriranje inputa

XSS je tip sigurnosnih propusta koji je karakterističan za web aplikacije koji omogućava napadaču da ubaci kôd koji se izvršava na klijentskoj strani (JavaScript, ActiveX, HTML) u našu web stranicu. Cilj ovakvog napada je dobijanje osetljivih podataka kao što su korisničke sesije (cookie), odvođenje na drugu stranicu ili bilo koji drugi cilj koji se može postići izvršenjem koda na korisničkoj strani.

XSS-u su najčešće podložne web aplikacije koje ispisuju korisnički sadržaj – na primer: forumi, knjige gostiju, komentari članova i druge.

Continue reading

Jednostavna matematička SPAM i bot zaštita

stop spamKao rezultat testiranja i podešavanja Mercurial SCM, nastala je jedna jednostavna PHP klasa za zaštitu formulara od botovskog spamovanja. Vrlo jednostavna, svega 26 linija koda i svega pet jednostavnih metoda.

Ovakav sistem zaštite ste sigurno sretali širom Interneta i zasniva se na izračunavanju sume dva i više sabiraka. Npr. Izračunajte 2 plus 5.

Continue reading

Kako napisati PHP aplikaciju bez ijednog includa?

includesInclude i require funkcije služe za priključenje drugih skriptova i nezamislivo je da napišete kod, a da ni jednom ne napišete include “path/to/file.php”. Međutim,  PHP je u verziji 5.3, napokon, predstavio namespace-ove, odnosno način grupisanja klasa, funkcija i konstanti. I ako je osnovna namena namespaceova u PHP-u da da se izbegne koalizija oko istih naziva klasa ili funkcija i da poveća čitljivost i razumljivost koda, namespaceovi se mogu iskoristiti i u svrhu automatskog učitavanja klasa.

Continue reading

Nelegalni softver? Da li izabrati Windows ili Linux?

Devedesete su davno prošle i trebalo bi da smo svi shvatili da neki softver ima cenu i da je korišćenje, a naročito distribucija piratskog softvera krivično delo. Danas su provere inspekcije veoma učestale i kazne za korišćenje nelegalnog Windows-a se kreću od 100.000 pa do 3 miliona dinara.*

Zbog cene softvera, najpre Windows operativnog sistema i Office paketa, mnoge firme će se odlučiti ili će u obzir uzeti neku distribuciju Linuxa koja je potpuno besplatna, kao i svi programi koji idu uz nju. Međutim, prelazak na Linux ima svoju cenu i u nekim slučajevima je veoma visoka. Continue reading

Google je hakovan, a krivac Internet Explorer

googleNapad na mrežu kompanije Google, Adobe i još 30+ drugih firmi izveli su verovatno kineski (a ko bi drugi) hakeri. Iskorišćen je sigurnosni propust u Internet Exploreru 6, ali takav propust se može naći i u ostalim verzijama ovog browser-a.

Propust u IE omogućavao je napadaču da kompletno upravlja žrtvinim računarom, a exploit, sa imenom “Aurora” je već javno dostupan. Continue reading

HTTP zahtevi za slikama iz CSS fajla

Nedavno sam primetio jednu čudnu stvar – ukoliko se link do jedne iste slike nekoliko puta ponavlja u CSS fajlu, Firefox (a verovatno i drugi) neće napraviti jedan HTTP upit do te slike, već onoliko upita, koliko se puta taj isti link ponavlja u tom fajlu. Zvuči neverovatno da se prilikom parsiranja CSS fajla ne vodi računa o već poslatim zahtevima, jer takva optimizacija može biti uvedena uz svega par linija koda i sprečiti nepotrebne zahteve i zauzeće resursa. No, kako bilo, ostaje na nama da se potrudimo da ubrzamo naš sajt drugim metodama. Continue reading

Validacija i filtriranje inputa (Sigurnost PHP aplikacija – 3.deo)

Ovo je treći u seriji članaka o sigurnosti PHP aplikacija. Pogledajte Sigurnost PHP aplikacija i Osnove sigurnosti (Sigurnost PHP aplikacija – 2.deo)

Trebamo imati u vidu da su svi inputi stringovi (tekstualne vrednost), tako da i ako su one prikazane kao brojne vrednosti oni su i dalje samo stringovi. PHP ima tu mogućnost da radi sa različitim tipovima podataka i da ih menja dinamično, u hodu. Pa tako ako deklarišemo stringovnu promenjivu koja sadrži vrednost “23″, nju možemo sabrati sa bilo kojim brojem.

Continue reading

Osnove sigurnosti (Sigurnost PHP aplikacija – 2.deo)

Ovo je drugi u seriji članaka o sigurnosti PHP aplikacija. Pogledajte Sigurnost PHP aplikacija

Svaka web aplikacije je napisana u cilju da izvrši zahteve korisnika. Ti zahtevi mogu biti “prikaži mi stranicu” ili “pošalji napisani mail” ili “uloguj me”, odnosno sve komande i podaci koje korisnik šalje aplikaciji. Interpretiranje tih komandi i podataka je osnovna delatnost aplikacije, a baš u toj interpretaciji leže najveći sigurnosni rizici. Continue reading

Sigurnost PHP aplikacija

Ovo je prvi u budućoj seriji članaka o sigurnosti PHP aplikacija. Očekuje vas uvod u osnove, filtriranje inputa, eskejpovanje outputa, sigurnost baze podataka i još dosta zanimljivosti.

Jedna od duhovitih činjenica o PHP-u je da su njegove funkcije pisane pod raznim okolnostima, ponekad i u alkoholisanom stanju. Uzevši i u obzir da je softver otvorenog koda, oni trezni mogu pronaći greške i kritikovati kako je PHP pun sigurnostnih propusta. To je donekle i tačno, ali takav sistem omogućava rešavanje tih propusta i sa svakom novom verzijom platforma postaje sve sigurnija. Međutim, najčešći krivci za sigurnosne propuste nije PHP platforma, već isključivo programeri aplikacija.

Lakoća programskog jezika, mogućnost da se neki proces odradi na mnogo načina ili vremensko ograničenje mogu biti uzroci takvih grešaka, ali za sigurnost svakako treba odvojiti vremena i steći dobre navike. Ne biste valjda rizikovali da vaša baza podataka bude ukradena, vaši korisnici izloženi riziku ili da ceo vaš online biznis propadne preko noći zbog jedne linije u kodu? Continue reading