Üye Olurken Güvenlik Aşamaları
15
●1.034
- 21-11-2008, 14:25:39
$kullanici_adi = addslashes(trim($_POST['kuladi']));
basit form verilerini şeklinde alabilirsin. SQL sorgu cümlesinde escape edilmeden geçen " ve ' ve \ karakterleri problem yaratır ve güvenlik açığı oluştururlar. addslashes fonksiyonundan çıkan verilerde ' lar \' ... " lar \" .... \ lar \\ haline gelirler ki bunlara escape edilmiş hali diyoruz.
$kullanici_adi = stripslashes($kullanici_adi); echo "Kullanici adiniz : " . $kullanici_adi;
bu şekilde de addslashes ile örn \' haline gelmiş yerler tekrar eski haline döner yani ' olur. Ekrana basacağın sırada \' lı basman hoş olmaz çünkü. stripslashes ile addslashes in tersi işlemi yapabilirsin. - 21-11-2008, 21:57:08konuyu google da araştırırsan türkçe yabancı biçok kaynak çıkacaktır. bu sorunun cevabı aldığın alana göre değişir.CodErode adlı üyeden alıntı: mesajı görüntüle
birinin yaşını yazdığı bi alanda harf olamaz mesela. o yüzden o değişkeni
if (!is_numeric($yas)) { echo "Yasiniz sadece rakam olabilir."; die(); }şeklinde kontrol edip elinden geldiğince mantıklı sınırlamalar yapabilirsin.
İçerisinde < > & gibi işaretler geçebilecek veriler olduğun da onları htmlspecialchars($veri) den geçirmelisin. Böylece özel ifade olmaktan çıkarlar.
Sen tersden düşünerek yola çıkarsan cevaplar sana gelir zaten. Yani ne yaparsam bu SQL sorgusu bozulur hangi işaret devreyi bozar dersen, o derde çözüm fonksiyonu bulması kolay olacaktır.