Kısaca mantık kurduğunda hersey yerine oturacaktır zaten

Şimdi Mesela Kullanıcı Adı ve Şifreyi Sen Session'da tutuyorsan ve Şifrelemiyorsan bununla şunu demek istiyorsun XX kişisinin YY şifresini herhangi birisinin görmesinin pek bir önemi yok..

Kullanıcının Görmemesi gereken veya Gördüğünde Birşey ifade etmeyen ama görmemesi daha hayırlı olur dediğin verileri daima şifreleyip kullanacaksın.. Olayın session ve cookie icin kısa ve öz mantığı bu

Diğer global değişkenlerde ise $_POST $_GET $_REQUEST $_SERVER falan filan bunlar kullanıcı tarafından belirlenen değerlere sahip olacaktır. Güvenlik konusunda da kısa ve öz mantık şu "Kullanıcı Babanın Oğlu Dahi Olsa Güvenmeyeceksin"

Örneğin Bir Blog yazdın Bu blogdaki makaleleride

xxx.php sayfasının url'inde bulunan
?makaleid ($_GET Global Değişkeni) ile alıyorsun ve yekten SQL'e gonderip sorgu yapiorsun

URL ne oluyor

1. Makale için örneğin

makaleoku.php?makaleid=1

buradaki 1 rakamına kullanıcı mudahale edebiliyor buda su demekki burada 3 nolu makaleyi cagirabilir sen kontrol yapmiorsan 3 nolu makale olmadığı icin sistem hata döndürür bu sayede gerek makaleoku.php dosyasının path'ini (Dosya Yolunu) gerekse makaleleri hangi Tabloda bulundurduğunu görebilir Peki bunun icin ne yapcaz?

3 Nolu Makale Sistemde varmı yok? die kontrol ettirip eğer var ise kullaniciya makaleyi gosterip yok ise 404 Döndermek doğrusudur bu basit olanı

birde şu varki

Gerekli Kaçış Karakterleri Satır Sonları veya Diğer Özel Karakter ve Kelimelerle 1 yerine SQL'ine Zarar verecek Kodlar Gondere bilir Buna SQL Injection diorlar.

Bunun icin ne yapman gerekiyor?

Buki'ninde dediği gibi islem goreceğin veriye göre filtreleme yapman gerekiyor.

Yukardaki Örnekte veriyi Makale Id'sine göre cektiğimize göre ID'mizde Sayısal Bir Değerden Baska birşey olmayacağına göre bunun sayısal(integer) bir değer olup olmadığını kontrol ettirirsin amaki burada metinsel(string) bir ifade ile islem yapıcaksan o zaman is biraz daha karısıyor bu seferde özel karakterleri veya istemediğin karakterleri alınan veriden temizlemen daha sonra işlem yaptırman gerekiyor.


Mesela Adam Makale'ne yorum yaziyor sen bu yorumu amcamın yazdığı gibi alıp sistemine atarsan ordanda olduğu gibi çekip ekrana basarsan nolur?

adam JS yardımı ile her bi haltı yer DB'ni siler Truncate eder ederde eder..

Kısacası Yukarda da belirttiğim gibi "Kullanıcı Babanın Oğlu Olsa Güvenmeyeceksin".

Hersey bir suç unsuruymuş gibi davranıp kontrollerini yapacaksın Ekleme Silme Duzenleme Cekme işlemlerini bunlara göre yapacaksın... Hep Kötüsünü düşün

Umarım yardımcı olmuştur.