GET ve POST Metodları: Arasındaki Farklar ve Kullanım Alanları

  • Konbuyu başlatan Konbuyu başlatan irfo
  • Başlangıç tarihi Başlangıç tarihi

irfo

Moderatör
Katılım
7 Ocak 2026
Mesajlar
290
Tepkime puanı
2
Puanları
18
İnternet üzerindeki her etkileşim bir veri alışverişidir. PHP'de bu alışverişi yöneten iki ana süper küresel (superglobal) değişken vardır: $_GET ve $_POST. Bu iki metot arasındaki farkı bilmek, hem uygulamanızın güvenliği hem de doğru çalışması için hayati önem taşır.

1. GET Metodu (Veri İsteme)​


GET metodu, verileri URL üzerinden anahtar-değer çiftleri şeklinde gönderir. Genellikle sunucudan veri "almak" veya bir içeriği "filtrelemek" için kullanılır.


  • [] Görünürlük: Veriler URL'de açıkça görünür (Örn: site.com/ara.php?kelime=php).
    [] Kapasite: URL uzunluk sınırı nedeniyle (genelde 2048 karakter) sınırlı veri taşır.
    [] Yer İmi (Bookmark): URL veriyi içerdiği için sayfalar yer imlerine eklenebilir ve paylaşılabilir.
    [] Önbellekleme: Tarayıcılar tarafından önbelleğe alınır ve geçmişte saklanır.

PHP:
// URL: urun.php?id=45
$urun_id = $_GET['id'];
echo "Görüntülenen Ürün ID: " . $urun_id;

2. POST Metodu (Veri Gönderme)​


POST metodu, verileri HTTP isteğinin gövdesinde (body) gizli olarak gönderir. Genellikle sunucuya veri "eklemek", "güncellemek" veya "hassas bilgileri iletmek" için kullanılır.


  • [] Görünürlük: Veriler URL'de görünmez, daha güvenlidir.
    [] Kapasite: Veri sınırı yoktur (sunucu ayarlarına bağlı olarak MB'larca veri gönderilebilir).
    [] Dosya Yükleme: Resim, video veya döküman göndermek için tek yoldur.
    [] Güvenlik: URL'de görünmese de veriler şifrelenmiş değildir (HTTPS kullanımı şarttır).

PHP:
// Formdan gelen veriyi alma
$kullanici = $_POST['username'];
$sifre = $_POST['password'];

GET ve POST Karşılaştırma Tablosu​


ÖzellikGETPOST
Veri KonumuURL (Query String)İstek Gövdesi (Body)
GüvenlikDüşük (Şifreler için asla kullanmayın)Yüksek (Hassas veriler için uygundur)Veri MiktarıSınırlı (Maks. 2KB)Sınırsız (Teorik olarak)
Kullanım AlanıArama, Sayfalama, FiltrelemeKayıt Formu, Giriş, Dosya Yükleme

[TR]

3. Güvenlik İpuçları​



  • [] URL Manipülasyonu: GET ile gelen verilere asla güvenmeyin. Kullanıcı URL'deki id=45 kısmını id=99 yaparak yetkisi olmayan verilere erişmeye çalışabilir. Her zaman yetki kontrolü yapın.
    [] XSS Koruması: Her iki metotla gelen veriyi de ekrana yazdırmadan önce htmlspecialchars() fonksiyonundan geçirin.
  • CSRF Saldırıları: POST formlarınızda mutlaka bir "Token" (güvenlik anahtarı) kullanarak dışarıdan gelen sahte isteklere karşı korunun.

Sonuç​


Özetle; eğer bir işlemi URL üzerinden paylaşmak istiyorsanız (bir arama sonucu veya makale sayfası gibi) GET kullanın. Eğer bir kullanıcı kaydı yapıyor, dosya yüklüyor veya şifre gibi hassas bir veri taşıyorsanız mutlaka POST kullanın. Doğru metot seçimi, projenizin hem işlevsel hem de güvenli olmasını sağlar.
 
Geri
Üst