Cum ma protejez de XSS (Cross Side Scripting)

Cum sa evitam XSS (Cross Side Scripting)
Atacurile de genul XSS se realizeaza in special la casutele de cautare interna, sau la formulare de inregistrare (cu stocare in baza de date). Daca ceea ce utilizatorul introduce utilizatorul nu este filtrat, atunci poate introduce coduri HTML care vor functiona perfect in pagina

PHP Code: (Select All)
//sa zicem ca spre fisierul acesta este redirectionat userul dupa ce apasa submit.
<?php
//conectare la bd

$CuvantCautat = $_POST[‘cuvant’];
echo ‘Rezultatele cautarii pentru: <i>’. $CuvantCautat .'</i><br />’;
$query = mysql_query(„SELECT camp1,camp2 FROM tabel WHERE camp1 = ‘”. $CuvantCautat .”‘”);

Astfel, cand o sa apara in pagina „Rezultatele cautarii pentru: X”. Acel X poate fi un cod html, javascript, orice, care va functiona.
Acelasi lucru se poate intampla si la formulare de inregistrare. User-ul baga la numele de utilizator de exemplu un cod JS, care va putea functiona in pagina. Despre cum trebuie sa arate un formular de inregistrare securizat vom vorbi alta data insa.

PHP Code: (Select All)
//sa zicem ca spre fisierul acesta este redirectionat userul dupa ce apasa submit.
<?php
//conectare la bd

$CuvantCautat = mysql_real_escape_string(htmlentities($_POST[‘cuvant’])); //folosim my…string() pt a filtra caracterele care pot interfera cu comanda SQL,
// htmlentities pentru a filtra caracterele HTML
echo ‘Rezultatele cautarii pentru: <i>’. $CuvantCautat .'</i><br />’;
$query = mysql_query(„SELECT camp1,camp2 FROM tabel WHERE camp1 = ‘”. $CuvantCautat .”‘”);

Leave a comment