Güvenlik ve İçerik Güvenliği Politikası
Bileşen için İçerik Güvenliği Politikanızda gereken girdiler, satır içi betik ve unsafe-inline olmadan nasıl çalıştığı, sayfanızdan nasıl yalıtıldığı ve tarayıcıda asla bulunmaması gereken gizli anahtarlar.
İçerik Güvenliği Politikası
Bileşen üçüncü taraf yazı tipleri veya izleme pikseli yüklemez ve eval çalıştırmaz. Stillerini shadow DOM içinde oluşturulabilir stil sayfalarıyla (adoptedStyleSheets) belirler; bunlar style-src kapsamına girmez. Bu nedenle unsafe-inline ve unsafe-eval gerekmez.
reactive.chat adresleriyle:
Content-Security-Policy:
script-src 'self' https://cdn.reactive.chat;
connect-src 'self' wss://ws.reactive.chat https://ws.reactive.chat;
img-src 'self' data: https:;
Content-Security-Policy:
script-src 'self' https://chat.your-company.com;
connect-src 'self' wss://chat.your-company.com https://chat.your-company.com;
img-src 'self' data: https:;
Girdiler tek tek:
- script-src –
loader.jsdosyasının konumu. Çekirdek (core.<hash>.js) ve daha sonra yüklenen modüller (turlar, gizlilik metni, mağaza) de buradan gelir. - connect-src: wss:// – sohbet bağlantısı.
- connect-src: https:// – aynı adres bir kez daha: HTTP yedeği, çevrimdışı formu, dosya yüklemeleri, gizlilik metni ve Smart Answer bu adres üzerinden çalışır. Bu girdi eksikse bunu yalnızca WebSocket olmayan ağlarda fark edersiniz; bu ağlarda hiç bağlantı kurulamaz.
- img-src – sohbetteki görseller: logo ve avatarlar (
https://adresleriniz veyadata:görselleri), tanıtım kartının görselleri ve eklerin önizlemeleri (sohbet adresinden).img-srckapsamını daraltmak isterseniz en azından sohbet adresini, logonuzun ve kart görsellerinizin ana makinelerini ekleyin. Bileşen engellenmiş bir görseli önizleme yerine dosya satırı olarak gösterir.
Oluşturulabilir stil sayfalarını desteklemeyen eski tarayıcılar (örneğin 16.4 öncesi Safari) bir <style> öğesine geri döner; katı bir style-src bunu engeller. Bileşen bu tarayıcılarda çalışır, ancak stilsiz görünür.
Satır içi betik gerekmez
Kurulum yalnızca öznitelikleri olan bir <script src> etiketinden oluşur. Kendi çağrılarınızı (identify, track, open) kendi betik dosyalarınıza veya nonce içeren bir satır içi betiğe yerleştirin:
<script nonce="R4nd0mN0nc3">
ReactiveChat('identify', { userId: '4711', userHash: '…', exp: 1792503600 });
</script>
Satır içi betik içermeyen bir şablon Ziyaretçileri tanımlama altında bulunur.
Subresource Integrity
loader.js dosyasının adında sürüm numarası yoktur ve dosya sürekli güncellenir; integrity özniteliği bir sonraki güncellemede sohbeti devre dışı bırakır. Çekirdek, adında içerik özetiyle yüklenir (Mimari). Politikanız SRI gerektiriyorsa loader.js dosyasını kendiniz sunun ve data-rc-ws-url değerini belirleyin (Hızlı başlangıç); bu durumda güncelleme sorumluluğu da sizdedir.
Sayfanızdan yalıtım
- Kapalı shadow DOM. Stilleriniz bileşene, bileşenin stilleri de sayfanıza ulaşmaz; genel sıfırlamalar olsa bile.
- Çerez yok. Bileşen çerez yerleştirmez; kimlikler tarayıcının depolama alanında, onay olmadan yalnızca
sessionStorageiçinde tutulur (Gizlilik entegrasyonu). - Form alanlarına erişim yok. Asistan için alınan sayfa metni, giriş alanlarını asla okumaz; hesap, ödeme ve sepet gibi sayfalarda hiç çalışmaz. Diğer alanları
data-rc-privateile hariç tutarsınız. - Kişisel veriler iki kez maskelenir: mesaj gönderilmeden önce tarayıcıda (Luhn denetimiyle kart numaraları, IBAN, e-posta, telefon, vergi numaraları) ve saklanmadan önce sunucuda. Hassas sorgu parametreleri (
email,password,token,key,card…) iletilen adreslerden kaldırılır. - Mesaj ve kartlardaki bağlantılar ve görseller için izin verilen tek protokol
https://;javascript:vedata:bağlantıları atılır.
Kaynak denetimi
Sohbet bağlantısı yalnızca projede İzin verilen kaynaklar altında listelenen alan adlarından kabul edilir (alt alan adları dâhil). Site anahtarınızı kopyalayan üçüncü taraf bir sayfa origin_denied alır. Liste boşsa denetim yapılmaz; bu nedenle alan adlarınızı mutlaka girin. Ayrıntılar: Taşıma.
Site anahtarının kendisi gizli değildir; her sayfanın kaynak kodunda bulunur.
Tarayıcıda asla bulunmaması gerekenler
- Kimlik gizli anahtarı (
userHashiçin) – Kimlik - Müşteri verileri uç noktası gizli anahtarı
rckd_…– Müşteri verileri - Webhook imzalama gizli anahtarı – Webhooks
- API anahtarları
rc_live_…– Sunucu API’si - Proxy anahtarı
rcpx_…– Özel alan adı
Bunlar bir uygulamada, herkese açık bir depoda veya sayfa adresinde de bulunmamalıdır.
Kötüye kullanıma karşı koruma
Sunucu, bağlantıları, çerçeveleri ve mesajları bağlantı ve adres başına sınırlar; tekrarlanan ihlallerde engeller (kapatma 1008). Kendi proxy’nizin arkasında, yalnızca proxy anahtarı doğruysa ziyaretçi adresi başına sayar; aksi hâlde tüm ziyaretçiler proxy’nin adresini paylaşır. Sayısal değerler: Sınırlar ve kotalar.
Sonraki: Özel alan adı
Päivitetty: