Güvenlik ve gizlilik

Form oluşturduğunuzda kullanıcı verileriyle çalışırsınız. En büyük endişeniz, kullanıcı verilerinin gizli tutulmasını ve güvenli bir şekilde aktarılmasını sağlamak. Neler yapılabileceğine bir göz atalım.

Formunuzun güvenli olduğundan emin olun

İlk adım olarak, mümkün olduğunca az veri isteğinde bulunduğunuzdan emin olun. İhtiyacınız olmayan verileri talep etmeyin ve istenen verilerin tamamına ihtiyacınız olup olmadığını her zaman sorgulayın. Daha az veri; daha az risk, daha az maliyet ve daha az sorumluluk anlamına gelir. Ayrıca, bir formdaki alan sayısının azaltılması formu daha karmaşık hale getirir, doldurulmasını kolaylaştırır ve vazgeçme oranlarını düşürebilir.

Özellikle form içeren sayfalar için her zaman HTTPS kullanın. HTTPS kullanıldığında, veriler sunucudan alınırken ve sunucuya geri dönüldüğünde şifrelenir.

Diyelim ki herkese açık kablosuz ağa bağlı bir kafede oturuyorsun. Bir e-ticaret sitesi açıyor ve alışveriş yapmak için kredi kartı bilgilerinizi giriyorsunuz. Web sitesi HTTP kullanıyorsa aynı genel kablosuz ağı kullanan herkes (bunu yapabilen becerilere sahip) kredi kartı bilgilerinizi görebilir. Web sitesi HTTPS kullanıyorsa veriler şifrelenir ve bu sayede erişmeye çalışan kullanıcılara karşı korunur.

Sitenizde, HTTP isteklerini HTTPS'ye yönlendirdiğinizden de emin olmanız gerekir. Tüm trafiği HTTPS'ye yönlendirme hakkında daha fazla bilgi edinin.

Kullanıcıların verilerini gizli tutmalarına yardımcı olun

İlk modülde veri aktarmanın iki olası yolunu öğrendiniz: GET isteği kullanma ve POST isteğini kullanma.

GET isteği kullanıldığında form verileri, istek URL'sine sorgu dizesi olarak eklenir. GET isteği kullanan bir form gönderirseniz tarayıcı, form verilerini de içeren istek URL'sini tarama geçmişinize ekler. Geçmişte gönderilen formları (örneğin bir arama formu) aramak istiyorsanız kullanışlıdır. Hiç sorun değil. Hassas veriler gönderilirse tarayıcı geçmişinize veya yerel ağınıza erişimi olan herkes bu bilgileri görebilir.

Kişisel veya hassas verilerin gönderilebileceği her form için POST isteklerini kullanın. Bu şekilde, veriler yalnızca onları işleyen arka uç komut dosyası tarafından görülebilir.

Kişisel verileri doğrudan tarayıcıda kaydedip işleme ne olacak? İstemci depolama alanını (örneğin, localStorage) kişisel verileri tarayıcıda depolamak için kullanabilirsiniz. Gizlilik açısından bu, ideal olmaktan uzaktır. Tarayıcınıza erişimi olan herkes bu bilgileri okuyabilir. Şifrelenmiş değerleri yalnızca kişisel veriler için depolamanız gerekir.

Kullanıcıların güvenli bir şekilde kaydolup oturum açabildiğinden emin olun

Kullanıcı hesabı kimlik doğrulaması, gizlilik ve güvenlik açısından karmaşık bir sorundur. Kendi güvenli kimlik doğrulama sisteminizi oluşturmak yerine üçüncü taraf bir kimlik sağlayıcı kullanmanız daha iyi olabilir.

Hesap kimlik doğrulaması ve şifre yönetimi için en iyi uygulamalar hakkında daha fazla bilgi edinin.

Kullanıcıların kişisel verilerine erişmesine yardımcı olma

Kaliforniya'da CCPA ve Hindistan'da PDPA dahil olmak üzere birçok bölgede veri koruma ve gizlilikle ilgili yasa ve düzenlemeler vardır. Avrupa Birliği'nde (AB) mevcut olan her web sitesinin, AB'de bulunmasa bile Genel Veri Koruma Yönetmeliği'ne (GDPR) uyması gerekir.

GDPR, AB'de yaşayan kişilerden kişisel bilgilerin toplanması ve işlenmesiyle ilgili kurallar belirler. Kişisel verileri işlemek için izin gerekir. Kullanıcılar herhangi bir zamanda depoladığınız kişisel bilgileri isteyebilir ve veri sızıntılarını resmi olarak duyurmanız gerekir. Kullanıcı için iyi bir şeydir, çünkü gizliliğine saygı duyulmasını sağlamaya yardımcı olur. GDPR hakkında daha fazla bilgi edinin.

Kullanıcılarınızın, kişisel verileri nasıl işlemeyi planladığınızı bildiklerinden emin olun. Güvenin anahtarı şeffaflıktır. Kullanıcılar, kendileri için kaydettiğiniz tüm verilere her zaman erişebilmeli, bu verileri değiştirebilmeli ve silebilmelidir.

Kullanıcıların kişisel verilerini güncelleyebildiğinden emin olun

Kullanıcıların şifreler, e-posta adresleri ve kullanıcı adları dahil olmak üzere kişisel verilerini güncellemelerini kolaylaştırın. Kullanıcıları depolanan kişisel verilerindeki değişiklikler hakkında bilgilendirin ve kullanıcıların değişiklikleri iptal edebildiklerinden emin olun. Örneğin, kullanıcılar e-posta adreslerini değiştirdikten sonra önceki ve yeni e-posta adresine bir e-posta gönderebilirsiniz.

Kullanıcıların ilişkili tüm veriler de dahil olmak üzere hesaplarını silmelerini kolaylaştırın ve gerektiğinde verileri indirmeyi mümkün hale getirin. Hesap silme, bazı bölgelerde yasal bir zorunluluktur.

Sitenizdeki kişisel bilgileri görüntülemek veya değiştirmek için ek bir kimlik doğrulama adımını (örneğin, geçerli şifreyi yeniden girme) gerektirmelidir.

Daha fazla bilgi: Web Uygulaması Gizlilik En İyi Uygulamaları.

Tüm verilerin iyi durumda olduğundan emin olun

Önceki modülde, ön uçta doğrulama hakkında bilgi edindiniz. Ön uç doğrulaması önemlidir, ancak kullanıcılar yine de geçersiz veriler gönderebilir. Sonraki adımda, verileri veritabanınıza kaydetmeden önce arka uçtaki verileri de doğrulamanız gerekir. Bu sayede, veritabanınıza geçersiz veriler kaydedilmez.

Doğrulama, veri biçiminin geçerli olmasını sağlamaya yardımcı olur ancak yine de kullanıcılar tarafından girilen verilere güvenmemelisiniz. Verileri güvenli bir şekilde nasıl çıkarabilirsiniz? Siteler Arası Komut Dosyası Çalıştırmayı (XSS) önlemek ve tüm verilerin HTML'ye dahil edilmesinin güvenli olduğundan emin olmak için çıktıdan önce verileri temizlemeniz gerekir.

Çıkıştan önce verileri temizleme ve mümkün olduğunda Sanitizer API'yi kullanma hakkında daha fazla bilgi edinin.

Tüm gönderimlerin gerçek kişilerden geldiğinden emin olun

Verilerinizin korunmasına yardımcı olmak için botlardan spam gönderilmesini engelleme konusunda çeşitli seçenekleriniz vardır.

İlk seçenek, gerçek kişiler ile bot'ları ayırt etmek için reCAPTCHA gibi bir hizmet kullanmaktır. Bunun için sayfanıza bir JavaScript snippet'i eklemeniz ve Gönder düğmenize ekstra özellikler eklemeniz gerekir.

reCAPTCHA, gerçek kişi olup olmadığınızı belirlemek için çeşitli kontroller gerçekleştirir. Örneğin, sizden resimleri tanımlamanızı isteyebilir. Bot gibi otomatik yazılımlar, bu görevleri yerine getiremez ve formu gönderemez.

Bal kabı

Diğer bir seçenek de görsel olarak gizli bir form alanı olan 'bal kabı' adını kullanmaktır. İnsanlar bal saksısı tarlasını görmez, ancak botlar bu alanı doldurur. Arka uçta, işleme komut dosyanız alanın doldurulup doldurulmadığını kontrol edebilir. Öyleyse, gönderim muhtemelen bir bot tarafından yapılmıştır ve yoksayabilirsiniz.

Spam'den korunmanıza yardımcı olabilecek Akismet gibi hizmetler de vardır. Akismet filtresi, katılan tüm sitelerden yakalanan spam hakkındaki bilgileri birleştirerek ve bu spam kurallarını gelecekteki spam'leri engellemek için kullanarak çalışır. Akismet, kullanıcıya karşı şeffaftır ve çoğu spam'i yakalar.

Öğrendiklerinizi sınayın

Güvenlik ve gizlilikle ilgili bilginizi test etme

Kişisel verileri form kullanarak aktarmak için tercih edilen yöntem nedir?

Bir taşıyıcı güvercin.
HTTPS
GET isteği.
POST isteği.

Spam'i nasıl engelleyebilirsiniz?

Honeypot form alanı.
CAPTCHA'LAR
Spam hizmetleri.
Yalnızca vejetaryen formlar sunun.

Kaynaklar