Ili je tvoja stranica ugrožena preko neke php skripte ( npr. sql injection korišten na dijelu u kojem korisnici ostavljaju komentare i sl, uglavnom na dijelovima na kojima korisnik šalje podatke tvojoj stranici ) ili je tvoj web server na kojem ti se poslužuje stranica ugrožen pa tako neko ima pristup fajlovima tvoje stranice.
Da bi bio siguran da nije do tebe ( da nije prvi slučaj ) moraš se dobro potruditi da sve podatke primljene od korisnika dobro isfiltriraš i provjeriš. Naprimjer ako imaš skriptu koja otvara određenu vijest i ta skripta prima jedan GET parametar koji skripti govori koju vijest da prikaže onda se ta skripta može iskoristiti za ubacivanje, brisanje, modificiranje sadržaja u tvojoj bazi podataka ako dobro ne provjeriš sadržaj tog parametra. To je trivijalan primjer i pošto je taj parametar u većini slučajeva redni broj reda u tabeli sa vijestima onda jednostavno odrediš tip tog parametra, u tom slučaju on bi bio
integer.
PHP Code:
// pocetak skripte
$id = $_GET['id'];
settype($id, "integer);
// uzmi podatke iz baze podataka...
Na ovaj način se osiguravaš da će u
id varijabli uvijek biti vrijednost tipa integer pa tako korisnik nikada neće moći proslijediti dodatne sql upite.
To je naravno samo jedan od mnogih mogućih situacija u kojima se možeš naći. Također, ako koristiš neki besplatni host onda ti je vjerovatno ugrožen web server a ne tvoj php kod. Još nešto, ako koristiš isti host koji si koristio i za tu statičnu stranicu u html-u onda ti je definitivno problem sa serverom a ne s tobom.