Web formu güvenliği, sitenizdeki iletişim, teklif, başvuru ve üyelik formlarının kötüye kullanılmasını engellemek ve topladıkları kişisel veriyi korumak için alınan önlemlerin bütünüdür. Form, sitenin dışarıdan veri kabul eden kapısıdır. O kapıyı spam botları günde yüzlerce kez çalar; bazen de biri kilidi zorlamaya çalışır. Sahada en sık karşılaştığımız tablo şu: gelen kutusu sahte mesajlarla dolmuş, gerçek müşteri talebi aralarında kaybolmuş; form verileri de yıllardır hiç silinmeden bir tabloda birikiyor. Bu yazıda formu katman katman nasıl güvenli hâle getireceğinizi anlatıyoruz.
Spam ve bot koruması — ziyaretçiyi yormadan
Spam botlarına karşı ilk refleks genellikle görsel doğrulama (CAPTCHA) eklemektir. İşe yarar ama gerçek ziyaretçiyi de yorar ve bazı çözümler üçüncü taraf çerezleri ve yurt dışı aktarımı beraberinde getirir. Daha dengeli bir yaklaşım, birkaç görünmez katmanı birleştirmektir:
- Bal küpü alanı (honeypot): İnsanın görmediği ama botun doldurduğu gizli bir alan. Doluysa gönderim reddedilir.
- Zaman kontrolü: Sayfa açıldıktan iki saniye sonra gönderilen form büyük ihtimalle insan değildir.
- Hız sınırı: Aynı adresten kısa sürede gelen çok sayıda gönderim durdurulur.
- İçerik kuralları: Bağlantı yığını içeren ya da belirli kalıplara uyan mesajlar ayrı bir kutuya alınır.
- Gerekirse görünmez doğrulama: Yukarıdakiler yetmezse, ziyaretçiye soru sormadan çalışan bir doğrulama katmanı eklenir. Üçüncü taraf bir hizmet kullanılıyorsa bu, çerez ve aydınlatma metinlerine yansıtılmalıdır.
Enjeksiyon ve kötü niyetli girdi
Formdan gelen her veri, güvenilmeyen veri olarak ele alınmalıdır. Enjeksiyon, saldırganın form alanına veri yerine komut yazarak sistemin bu komutu çalıştırmasını sağlamasıdır. Başlıca türleri ve önlemleri:
| Risk | Ne olur | Önlem |
|---|---|---|
| SQL enjeksiyonu | Veritabanından veri okunur, silinir | Parametreli sorgular; girdiyi asla sorgu metnine yapıştırmamak |
| XSS (site içi komut ekleme) | Yönetim panelinde açılan mesaj, yöneticinin tarayıcısında kod çalıştırır | Çıktıyı ekrana basarken kaçış işlemi, içerik güvenlik politikası |
| E-posta başlık enjeksiyonu | Form, başkalarına spam göndermek için kullanılır | Ad ve e-posta alanlarında satır sonu karakterlerini reddetmek |
| CSRF (sahte istek) | Başka bir site, kullanıcının adına form gönderir | Form başına tek kullanımlık doğrulama belirteci |
Doğrulama hem tarayıcıda hem sunucuda yapılmalı. Tarayıcıdaki kontrol kullanıcıya kolaylık sağlar; güvenliği sunucudaki kontrol sağlar.
Dosya yükleme — en riskli alan
İş başvurusu, teklif için çizim ya da fotoğraf gönderme gibi dosya yükleme alanları, formun en riskli parçasıdır. Önerilerimiz:
- Yalnız gerçekten gereken dosya türlerine izin verin ve türü uzantıdan değil, dosyanın içeriğinden kontrol edin.
- Dosya boyutuna üst sınır koyun.
- Yüklenen dosyaları web üzerinden doğrudan erişilemeyen bir klasörde, rastgele adlarla saklayın.
- Yükleme klasöründe betik çalıştırmayı kapatın.
- Mümkünse dosyaları zararlı yazılım taramasından geçirin.
- Dosyaları e-posta ekine koymak yerine yönetim panelinde, yetkili kişiye gösterin.
Özgeçmiş ve kimlik belgesi gibi dosyalar yoğun kişisel veri içerir; herkese açık bir bağlantıyla erişilebilir olmaları ciddi bir ihlal riski taşır.
Veri minimizasyonu — en güvenli veri, toplanmayan veridir
KVKK'nın temel ilkelerinden biri, verinin işlendiği amaçla bağlantılı, sınırlı ve ölçülü olmasıdır. Form tasarlarken her alan için "Bu bilgi olmadan talebe cevap verebilir miyiz?" diye sorun. İletişim formunda T.C. kimlik numarası, doğum tarihi ya da ev adresi istemek çoğu zaman gereksizdir. Gereksiz alanı kaldırmak hem ihlal riskini hem formu yarıda bırakan ziyaretçi sayısını azaltır.
Saklama süresi de minimizasyonun parçasıdır. Cevaplanmış iletişim talepleri, belirlenen süre dolduğunda silinmeli ya da anonimleştirilmelidir. Formdaki bilgilendirmenin nasıl yazılacağını web sitesi aydınlatma metni yazısında, talebin kaybolmadan satış sürecine akmasını web formundan CRM'e yazısında anlattık.
Form güvenliği kontrol listesi
- Form yalnız HTTPS üzerinden çalışıyor
- Görünmez bot katmanları (bal küpü, zaman, hız sınırı) etkin
- Tüm girdiler sunucuda doğrulanıyor; sorgular parametreli
- Form başına doğrulama belirteci var
- Dosya yükleme türü, boyutu ve saklama yeri kısıtlı
- Her alan için amaç belli; gereksiz alan yok
- Aydınlatma bağlantısı gönder düğmesinden önce görünüyor
- Form verileri için saklama süresi tanımlı ve uygulanıyor
- Bildirim e-postaları hassas veriyi ve eki taşımıyor
Globya'da nasıl yapıyoruz
Kurduğumuz kurumsal web sitelerinde formları görünmez bot katmanları, sunucu tarafı doğrulama ve korunan dosya saklama ile teslim ediyoruz. Gelen talepler yönetim panelinde toplanır; bildirim e-postasına yalnız özet gider, ekler panelde kalır. Saklama süresini sizinle belirleyip yazılıma kural olarak işliyoruz. Bu gereklilikler KVKK uyumu yaklaşımımız gereği eksik kalmaz, ek ücret alınmaz.
Sık sorulan sorular
CAPTCHA koymadan spam gerçekten azalır mı?
Çoğu sitede görünmez katmanlar spamın büyük kısmını durdurur. Yetmediği durumda ek bir doğrulama katmanı eklenir; önce ziyaretçiyi yormayan yöntemleri denemeyi öneriyoruz.
Form verilerini ne kadar süre saklamalıyız?
Amaca bağlıdır. Cevaplanmış bir bilgi talebi ile bir iş başvurusunun saklama süresi farklıdır. Sürelerinizi saklama ve imha politikanızla uyumlu belirleyin; hukuki süreleri hukuk danışmanınızla teyit edin.
Form bildirimlerinin e-postayla gelmesi sakıncalı mı?
Özet bir bildirim sorun değildir. Ama kimlik bilgisi, özgeçmiş ya da sağlık bilgisi gibi hassas içeriklerin ve eklerin e-postada dolaşması riski artırır; bunları panelde tutmak daha güvenlidir.
Mevcut formlarımızı test edebilir misiniz?
Evet. 0850 432 55 13 ya da iletişim sayfası üzerinden ulaşın; formlarınızı bu listeye göre gözden geçirip bulguları yazılı iletelim.
Globya asistanı 7/24 çevrimiçi; sorunuzu hemen yanıtlar, gerekirse ekibe iletir.