Anket Güvenliği


Bafra Haber anketlerinde SMS ile oy kullanırken cep telefonu numaranız hiçbir zaman kaydedilmez. Sisteme giren numara, geri döndürülmesi matematiksel olarak imkânsız olan bir işlemden geçirilir ve yalnızca bu işlemin çıktısı saklanır. Veritabanına erişimi olan site yöneticisi ya da sistem mühendisi dahi orijinal numarayı göremez.


Telefon Numaranıza Ne Olur?

Anket formuna numaranızı girdiğiniz andan itibaren gerçekleşen adımlar şunlardır:

  1. 1. Normalleştirme
    Girdiğiniz numara uluslararası standart biçime dönüştürülür.
    05XX XXX XX XX  →  905XXXXXXXXX
    Bu adım yalnızca SMS göndermek için kullanılır ve işlem biter bitmez bu bilgi bellekten silinir.
  2. 2. Gizli Anahtar ile Birleştirme
    Normalleştirilmiş numara, sunucunun başlatılma anında oluşturulan ve yalnızca sunucu belleğinde yaşayan bir gizli anahtar ile birleştirilir. Bu anahtar kaynak kodunda yazılı değildir; kaynak kodu görmek onu ele geçirmenizi sağlamaz.
    gizli_anahtar + ":" + 905XXXXXXXXX
  3. 3. SHA-256 Özet (Hash) İşlemi
    Birleştirilen değer, tek yönlü kriptografik özet algoritması olan SHA-256'dan geçirilir.
    SHA256("gizli_anahtar:905XXXXXXXXX")
     → a3f8c2d1e9b047...  (64 karakterlik anlamsız bir dizi)
    Bu işlem geri alınamaz. Elinde yalnızca bu dizi olan biri numaranızı bulamaz.
  4. 4. Yalnızca Özet Kaydedilir
    Veritabanına yazılan tek şey bu 64 karakterlik dizidir. Gerçek numara hiçbir tabloya, hiçbir log dosyasına düşmez.

Veritabanında Ne Görünür?

Bir sistem yöneticisi veritabanını açıp anket kayıtlarına baksa gördüğü tablo şuna benzer:

AnketKayıt ZamanıTelefon (phone_digest)
Örnek Anket2025-04-26 14:32a3f8c2d1e9b047ea5f6c3d82b1904e7f…

Bu satırda numaranızın hiçbir izi yoktur. Gizli anahtar olmadan iki kaydın aynı numaraya ait olup olmadığını bile söylemek mümkün değildir.


Gizli Anahtar Neden Kimse Tarafından Görülemez?

Sistemde kullanılan gizli anahtar (secret_key_base), sunucunun işletim sistemi ortam değişkeni olarak saklanır. Bu değişken:

  • Kaynak koduna (GitHub dahil) yazılmaz
  • Veritabanında yer almaz
  • Yedekleme dosyalarına dahil edilmez
  • Yalnızca çalışan sunucu sürecinin belleğinde bulunur

Sunucuya fiziksel ya da uzaktan erişimi olan biri bile bu değeri ancak sunucunun aktif sistem belleğini okuyarak elde edebilir; bu ise izinsiz erişimin çok ötesinde ayrı bir saldırı senaryosudur.


SMS Gönderiminde Ne Olur?

Numaranız, doğrulama kodunu size iletmek amacıyla SMS servisine geçici olarak aktarılır. Bu aktarım şifrelenmiş HTTPS bağlantısı üzerinden gerçekleşir. İşlem tamamlandıktan sonra ham numara bellekten düşer; geriye yalnızca özet kalır.


Mükerrer Oy Nasıl Engellenir?

Aynı numarayla ikinci kez oy kullanmaya çalışıldığında sistem şunu yapar:

  1. Yeni girilen numara aynı işlemlerden (normalleştirme → gizli anahtar + hash) geçirilir
  2. Elde edilen özet, veritabanındaki özet ile karşılaştırılır
  3. Eşleşme varsa oy reddedilir

Bu karşılaştırma sırasında bile orijinal numara hiçbir yerde açık metin olarak işlenmez.


Doğrulama Kodu da Korunur

Size gönderilen 4 haneli SMS kodu da aynı yöntemle hash'lenerek saklanır. Veritabanında kodun kendisi değil, kodun özeti yer alır. Kodu girerken sistem özeti yeniden hesaplar ve karşılaştırır; böylece doğrulama kodu da hiçbir zaman açık metin olarak kaydedilmez.


Özetle

  • Cep telefonu numaranız veritabanına yazılmaz.
  • Numaranızı site yöneticisi, sistem mühendisi ya da herhangi bir üçüncü taraf göremez.
  • Gizli anahtara erişimi olmayan birinin özetten numaraya geri gitmesi matematiksel olarak mümkün değildir.
  • SMS iletimi güvenli kanal üzerinden yapılır ve ham numara işlem sonrası tutulmaz.
  • Anketler yalnızca oy tekrarını önlemek amacıyla telefon özeti saklar; başka bir amaçla kullanılmaz.

Son güncelleme: Nisan 2026