PHP SQL İnjection Önlemleri

4 Nis 2013
200
0
İstanbul
PHP İle Basit SQL İnjection Önlemleri

Merhaba Arkadaşlar uzun zamandır konu açmıyordum bir konu açayım dedim ve yardımcı olmak amacoyla bu konuyu açmaya karar verdim. Umarım bu konum size yardımcı olur.

POST ve GET methodlarıyla veri çekerken nasıl çekiyorsunuz ?

Örneğin:

index.html
Kod:
<form action="goform.php" method="POST">
Name:<input type="text" name="write">
<input type="submit" value="Gönder">
</forum>


goform.php (GÜVENSİZ OLAN)
Kod:
<?php
$name = $_POST['write'];
echo $name;
?>

Örneğin yukarıda writeden alınan veriyi name değişkenine atadım.
İşte tüm sorun burada kod çalışır mı ? ÇALIŞIR. Fakat hiç güvenli değildir.
Bu Gibi sorgular MySQL Veri tabanında hatalara yol açar veya bir hacker login formundan veri tabanına sızar.
Çünki '," gibi karakterler filitreye alınmadığında sql injection dediğimiz açık meydana geliyor.



goform.php (GVENLİ OLAN)
Kod:
<?php
$name = mysql_real_escape_string(htmlspecialchars($_POST['write']));
echo $name;
?>

Yukarıda gördüğünüz sorguda ise gelen veriyi filitreledim. nasıl mı ?
write kutusundan gelen '," gelen karakterler mysql_real_escape_String() fonksyonundan ve htmlspecialchars() fonksyonundan geçiyor. direk veri tabanına yazılmıyor. Bu da sitemizi biraz daha güvenli kılıyor. Tabi ki yeterli değilid! Daha güvenli php fonksyonlarını bir arada kullanabilirsiniz. Google size yardımcı olacaktır. Konularımın kalitesini ve bilgimi artırmak istiyorum arkadaşlar yorumlarınızı bekliyorum...
 
Son düzenleme:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.