Am urmatoarea secventa de cod care imi deschide o pagina " <a href="index.php?pagina=contact.php">Contact</a> ".
Problema este ca oricine poate incarca remote orice pagina de genul " ?pagina=http://exploit ".
Concret, pe acest exemplu, cum pot scapa de problema asta?
Probleme link
Moderatori: Zamolxe, Moderatori
- vectorialpx
- Senior Member
- Mesaje: 4832
- Membru din: Mar Mar 01, 2005 9:48 am
- Localitate: Bucuresti
- Contact:
ce vrei sa faci ?
daca vrei sa iei date din db... faci select cu GET in pagina catre care trimiti
dinamic.php?pagina=contact
SELECT * FROM tabel WHERE pagina=$_GET['pagina']
redirect... faci direct
... adica link catre `contact.php`...
daca vrei sa faci include la $_GET[] .... raspunsul la intrebarea ta este:
NU POTI SCAPA !
daca vrei sa iei date din db... faci select cu GET in pagina catre care trimiti
dinamic.php?pagina=contact
SELECT * FROM tabel WHERE pagina=$_GET['pagina']
redirect... faci direct
daca vrei sa faci include la $_GET[] .... raspunsul la intrebarea ta este:
NU POTI SCAPA !
-
Daemon7
- PHPRomania Supporter
- Mesaje: 21
- Membru din: Joi Iul 21, 2005 5:22 pm
- Localitate: Timisoara
- Contact:
Creezi un array cu paginile valide, si in momentul cand trebuie sa faci redirectarea, verifici daca ce e in $_GET se afla si in array-ul respectiv. Sorry ca trebuie sa zic asta dar un redirect bazat pe valori din $_GET e o idee foarte proasta, pe care se pot executa atacuri de tipul cross-site scripting foarte usor.
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 19 vizitatori


