SQL INJECTION
SALDIRILARINA ÖNLEM
Azat METİN
[email protected]
SQL Injection saldırıları
ile neredeyse herkesin başı
dertte büyük sistemler SQL
Injection ile çok kolay anasını
ağlatabilmektedirler .Ben de
bir nebzede olsa kabak gibi
duran SQL Injection saldırısını
önlemeyi anlatacağim.Örnek
olarak bir sorgu alalım ben
projelerimde
kullandıgım
değerlerden örnek vereceğim.
Böyle birşey kullanmak
tamamen
bir
hatadır.
Çünkü
SQL
Injection
yapacak arkadaşin ` işareti
olusturmasina
gerek
bırakmadiniz böylece SQL
ınjection saldırıları ile USER
ve PASSWORD
bilgileriniz
SQLden
çekilebilir bunu önlemek ise
basittir.
$_POST’a gelen değerler
çok önemlidir çünki mysqldeki
değerler ile karşilaştirilacaktir.
$sifre=$_POST[‘sifre’]);
$sifre=mysql_query(“select
* from yonetici where
id=’$sifre’”);
m y s q l _ n u m _
rows($kontrolet)
$sifre=$_POST[‘sifre’]);
$sifre=mysql_query(“select
* from yonetici where
`id`=’$sifre’”);
m y s q l _ n u m _
rows($kontrolet)
böyle yapildiği taktirde
SQL açiği oluşması için
`gerekliliğini
belirttik..`
Önlemek için $_POST a bunları
yapmak yeterli olacaktir.
$sifre=mysql_real_escape_
string(htmlspecialchars($_
POST[‘sifre’]));
$sifre=mysql_query(“select
* from yonetici where
id=’$sifre’”);
m y s q l _ n u m _
rows($kontrolet)
ysql_query de id sifre
karşilaştirmasini
böyle
yaparsak arkadaşın ` işareti
olusturması kosulunu koruz
daha sonra mysql_real_
escape_string
fonksiyonu
kullandiğimiz için arkadaş ne
zaman ` oluşturmaya kalksa
hata ile karsılasacaktir.
55