Önceki yazılarımda kullanımlarını örneklendirerek paylaştığım POST ve GET metodları konusunda bir karşılaştırma yazısı yazmadan konuyu sonlandırmak istemedim. İlgili yazılar için;
bkz: PHP GET Metodu ile Form Kullanımı Örneği
bkz: PHP POST Metodu ile Form Kullanımı Örneği
Hem GET hem de POST metodu iki farklı HTTP istek türüdür. GET metodu, tüm form verilerini url içinde query olarak iletmeyi sağlarken POST metodu ise sayfanın header bilgileri altında form verilerini bir sayfadan diğerine aktarmaktadır.
GET metodu, form verilerinin url'den takip edilebilir olmasından dolayı çeşitli sınırlamalar içermektedir. Örneğin kullanıcı adı ve parola bilgilerini GET metodu ile hazırlanmış bir forma giren bir kullanıcı, input içine girerken göremediği (karakterler yerine noktalar çıkar) şifresini sonraki sayfadaki url'nin içinde görebilir.
Sonraki sayfanın url'si: goruntule.php?kullaniciadi=pascal&parola=gizlisifere
GET metodu kullanmadan önce dikkate alınması gerekenler:
- GET metodu ile yapılan form işlemleri birer kayıt olarak tarayıcı geçmişinde saklanırlar
- GET metodu gizlenmesi gereken bilgiler için kullanılmamalıdır
- GET metodu, sadece verilerin okunması içindir. Güncelleme için kullanılmazlar
- Ayrıca url içine yazılacak uzun form verileri de yine çeşitli (karakter çeşitliliği ya da uzunluk gibi) sınırlamalara takılacaktır.
POST metodu kullanmadan önce dikkate alınması gerekenler:
- Her ne kadar POST metodu ile iletilen form verileri url'de görünür olmasalar da yine request içerisinde bu veriler yer aldığı için güvenli değillerdir. POST metodu ile iletilecek form verilerinin güvenli olabilmesi için şifrelenmesi gerekir. Bu işlem için de SSL sertifikaları kullanılmalıdır
- POST metodu ile transfer edilen form verileri önbelleğe alınmazlar ve tarayıcı geçmişinde de saklanmazlar
- GET metodunda olduğu gibi karakter sayısı sınırlamaları yoktur.
Benzer PHP yazıları için;
bkz: PHP'de dizinde bulunan belli bir uzantıya sahip dosyaları aramak
bkz: PHP ile klasördeki tüm dosyaları görüntülemek (scandir)
bkz: PHP'de dizide bir eleman var mı kontrolü yapmak (in_array kullanımı)
bkz: PHP'de array_map fonksiyonu kullanımı ve örnekleri
bkz: PHP die fonksiyonu kullanımı ve örnekleri
bkz: PHP'de sunucudaki bir dosyayı silmek (unlink)