Content-Security-Policy: kako da zaustavite XSS napade
28. 7. 2026.
Cross-site scripting (XSS) je godinama na vrhu liste najčešćih napada na veb sajtove. Napadač ubaci zlonamerni JavaScript u vašu stranicu, a pregledač ga izvrši kao da je vaš — i tako krade kolačiće, preusmerava korisnike ili menja sadržaj. Content-Security-Policy (CSP) je odbrana koja pregledaču jasno kaže koje izvore koda sme da veruje.
Kako CSP funkcioniše
CSP je HTTP zaglavlje sa listom pravila (direktiva). Svaka direktiva određuje odakle sme da se učita određena vrsta resursa. Na primer, script-src ''self'' znači: izvršavaj samo skripte sa mog domena, a sve ostalo — inline skripte, skripte sa tuđih domena — blokiraj. Ako napadač uspe da ubaci skriptu, pregledač je jednostavno neće pokrenuti, jer nije na dozvoljenoj listi.
Najvažnije direktive
- default-src — rezervno pravilo za sve vrste resursa koje nisu posebno navedene.
- script-src — odakle sme JavaScript; ovde je najveća korist za bezbednost.
- style-src — odakle smeju CSS stilovi.
- img-src — odakle smeju slike.
- frame-ancestors — ko sme da vas ugradi u iframe; sprečava clickjacking.
Kako da ga uvedete bez lomljenja sajta
Najveća greška je da odmah nametnete strogu politiku i onda pola sajta prestane da radi — analitika, mape, ugrađeni video. Zato uvek počnite u report-only režimu: zaglavlje Content-Security-Policy-Report-Only ne blokira ništa, već samo prijavljuje šta bi blokiralo. Pustite ga nekoliko dana, sakupite izveštaje, dodajte legitimne izvore na listu, pa tek onda pređite na pravo, blokirajuće zaglavlje. Za WordPress budite spremni da dozvolite izvore koje plugin-ovi učitavaju.
Na deljenom hostingu CSP dodajete kroz .htaccess ili podešavanja servera. Ako ne želite da se mučite, naši WordPress hosting paketi dolaze sa WAF-om i lakim podešavanjem bezbednosnih zaglavlja. Pogledajte planove i podignite nivo zaštite bez muke.
Česta pitanja
Da li CSP zamenjuje WAF? Ne — CSP štiti u pregledaču korisnika, a WAF na serveru. Rade zajedno, ne umesto jedan drugog.
Da li inline skripte moraju da nestanu? Idealno da, ili im dodelite nonce/hash. Inline kod je najveći izvor XSS rizika.
CSP je jedno u nizu bezbednosnih HTTP zaglavlja; obavezno uključite i HSTS za prisilni HTTPS, a za širu zaštitu pročitajte o WAF zaštiti sajta.