Komutları üretim sunucusunda çalıştırmadan önce yedek alın ve mümkünse bir test ortamında deneyin. Yönetim erişiminizi (SSH, panel) kaybetmemek için ayar değişikliklerinde açık bir ikinci oturum bulundurun.
Bu rehberde ne yapacağız?
SQL enjeksiyonu (SQL injection), kullanıcıdan gelen verinin sorgu metnine doğrudan eklenmesi sonucu saldırganın veritabanı sorgusunu değiştirebilmesi durumudur. Çözümün özü basittir: veriyi ve SQL kodunu birbirinden ayırmak. Bu rehberde PHP PDO ile hazır sorgular (prepared statements) kullanarak SQL enjeksiyonunu nasıl önleyeceğinizi, doğrulama ve beyaz liste ile nasıl tamamlayacağınızı öğreneceksiniz.
Rehber, PHP ile site veya uygulama barındıran sunucu yöneticileri ve geliştiriciler içindir. Tahmini süre: 30-45 dakika.
Gereksinimler
- PHP ile PDO ve ilgili sürücü eklentisi (pdo_mysql veya pdo_pgsql)
- Test için bir geliştirme/hazırlık ortamı; canlı veritabanında denemeyin
- Uygulama kaynak koduna erişim
- Veritabanında yeni kullanıcı oluşturabilecek bir yönetici hesabı