[ cornacum @ 30.10.2011. 23:55 ] @
Pozdrav,

Da li vidljivost javascript koda tj. ajax-a moze da ugrozi bezbednost sajta?

S ozbzirom da je javascript fajl dostupan javno, i elementi primera textbox su vidljivi, da li moze to da se zloupotrebi? Takodje, da li postoji nacin da se sakrije/zastiti nesto?


Evo kod. Ocigledno se vidi koje promenjive prenose podatke iz elemenata...

Code:
function newModel(op, vid, id) { //list all
    rnd = Math.floor(Math.random()*99);
    newModel = document.getElementById('txtNewModel').value;
    modelvisible = document.getElementById('modelvis').value;

    http.open('POST', 'modeli/modeli.php');
    var params2 = 'op='+op+'&vid='+vid+'&id='+id+'&modelvisible='+modelvisible+'&newmodel='+newModel+'&random='+rnd;
        
    http.setRequestHeader("Content-type","application/x-www-form-urlencoded")
    http.setRequestHeader("Content-length", params2.length); 
    http.setRequestHeader("Connection", "close"); 
    
        http.onreadystatechange = function(){
        if(http.readyState == 4){
        document.getElementById('models').innerHTML = http.responseText;
        }
    }
    http.send(params2);
}


Hvala
[ Man-Wolf @ 31.10.2011. 00:48 ] @
Ne trudi se da sakrijes ono sto saljes, vec se potrudi da isfiltriras ono sto primas.

P.S. Googlaj za "javascript obfuscate" ako si extremno paranoican
[ ivan.a @ 31.10.2011. 06:30 ] @
Bezbednost sajta jedino može da ugrozi ako ti server-side skripta nije filtrirana (tj. podaci i funkcije) i zaštićena. Mogao bi eventualno da zaštitiš direktorijum sa skriptama sa .htaccess fajlom. Zatim da koristiš REFERER da proveriš da li request dolazi sa tvog servera, provera IP adrese servera itd...čisto da zaštitiš fajl da se jedino poziva putem ajax call-a i to sa tvog servera.
[ Ivan.Markovic @ 31.10.2011. 10:11 ] @
HTTP Refererr moze da se lazira tako da to nije validan nacin provere. Ajax skripte stitis isto kao i sve ostale: filitriras input, eskejpujes output.
Bitno je da ne otkrivas pozive ka skriptama koje korisnik inace ne bi koristio (razdvojis u posebne .js ono sto ide za korisnika i npr za admina). Takodje u nekim situacijama postoji i problem "race condition": http://security-net.biz/txt/race-condition-i-veb-tehnologije.txt
[ ivan.a @ 31.10.2011. 12:34 ] @
Može se lažirati, ali to ne znači da ne treba koristiti. Potencijalni "napadači" ne znaju da li se vrši provera ili ne, tako da im treba otežati posao što je više moguće, praveći što više "sigurnosnih barijera". U svakom slučaju ne može da štodi, već samo da koristi.

Isto tako se npr. mogu lažirati razne informacije prilikom uploadovanja fajla/slike (header information, content-type...), što ne znači da zbog toga ne treba vršiti proveru.

Evo manje/više korisnog teksta ( CSRF wiki ) što spada u domen security. Konkretno vezano za referer pročitaj stavku 7 (Prevention).
Uglavnom ako želiš što bolje zaštiti skriptu potrebno je razmišljati o svim mogućim sigurnosnim rupama...
[ cornacum @ 31.10.2011. 18:00 ] @
Dovoljo informacija, hvala!

Imam jos jedno pitanje kad je sigurnost u pitanju..

Primetio sam da neki php sajtovi vise ne koriste ekstenziju .php u URL stringu. Tj. umesto index.php?strana=blabla, string ide .com/strana1/vrednost/blabla

Da li je to cisto neka vrsta sminke, ili je neki drugi razlog u pitanju?


Hvala
[ dakipro @ 31.10.2011. 18:11 ] @
Uglavom je razlog SEO pa onda sve ostalo, nije nemoguce provaliti na kojoj platformi radi server, moze se sakriti ali nije uvek obavezna praksa
[ Zlatni_bg @ 31.10.2011. 20:52 ] @
Ako zelis da saznas vise o tome:

http://httpd.apache.org/docs/current/mod/mod_rewrite.html
http://www.workingwith.me.uk/articles/scripting/mod_rewrite