PHP - hayat kurtarabilecek fonksiyonlar

0 Üye ve 3 Ziyaretçi konuyu incelemekte.

Çevrimdışı D®agon

  • Ezberletmez Öğretir
  • *******
  • Join Date: Mar 2008
  • Yer: Ankara
  • 11656
  • +524/-0
  • Cinsiyet: Bay
    • Arif Hocam
PHP - hayat kurtarabilecek fonksiyonlar
« : 14 Aralık 2010, 17:53:37 »
Tehlikeli bir değişkenden gelen veriyi işlemlere tabi tutmadan önce ilk olarak önce onaylanamanız ve filtrelemeniz gerekmektedir.Zira bunları yapmazsak basit yöntemlerle hacklenmek elde bile değil.

mysql_real_escape_string

Bu fonksiyon gelen veride mysql’e iş yaptırma olasılığı olan simgelerin önüne veri olarak gösterecek olan \ koyuyor.\x00, \n, \r, \, ‘, “ ve \x1a. Bu şekilde kişinin yazdığı yazı doğrudan yazı olarak veritabanına eklenmiş oluyor. mysql_real_escape_string ile sql injection u ortadan kaldırıyoruz

$query=mysql_real_escape_string($_GET[kelime]);
mysql_query("insert into arama (kelime) values ('$query')");

htmlentities

Girdilerde olduğu gibi dışarıya sunulan tüm verilerin de (güvenli olarak filtreleyip veritabanına işlediğiniz verilerin dahi) filtrelenmesi gerekmektedir.
Filtrelenmesi gereken en önemli şey probleme yol açabilecek olan HTML tag'leridir. Bunu yapmanın en kolay yolu bütün HTML'i escape işlemine sokan htmlentities() fonksiyon'udur:
<?php
echo htmlentities($_GET['kelime']);
?>


htmlentities ile muhtemel muhtemel XSS (cross site scripting) saldırılarını kaldırırsınız
Eğer tüm html taglarını silmek istemiyorsanız strip_tags() kullanarak bazı html taglarına izin verebilirsiniz.