WebBlocks CMS, ziyaretçilere yönelik formlar için tek bir yerel koruma işlem hattı sunar. Yerleşik İletişim Formu ve Yorumlar blokları bunu doğrudan kullanır; WebBlocks Forms gibi eklentiler de aynı hizmeti CMS kapsayıcısından çözümler. Böylece sinyaller, her formun kendisini ayrı ayrı savunması yerine farklı form türleri arasında bir siteyi izler.
İşlem hattı hiçbir ağ isteği yapmaz ve CAPTCHA, API anahtarı, daemon, tarayıcı parmak izi hizmeti, isteğe bağlı PHP uzantısı veya üçüncü taraf moderasyon ürünü gerektirmez. Uygulamanın veritabanını, yapılandırılmış Laravel önbelleğini ve APP_KEY değerini kullanır.
İşleme modeli
Koruma bilinçli olarak katmanlıdır:
- Laravel doğrulaması ve CSRF, hatalı biçimlendirilmiş veya farklı kaynaktan gelen istekleri olağan şekilde reddeder.
- Oluşturucu; imzalı bir form kimliği, zaman damgası ve üretilmiş bir bal küpü sağlar.
- Geçersiz kanıt, doldurulmuş bir bal küpü veya formun asgari süresinden önce yapılan gönderim, depolama ya da teslimat olmadan genel başarı yolunu izler.
- Geçerli gönderimler; içerik, zamanlama, tekrar, gönderen, kaynak, ağ ön eki, form ve öğrenilmiş itibar sinyalleriyle puanlanır.
- Puan
allow,quarantineveyaspamkararına dönüşür. - Formun sahibi inceleme kaydını saklar; teslimat eylemlerini yalnızca
allowçalıştırabilir.
Ziyaretçiler hiçbir zaman puanı, nedenleri, bildirim sonucunu veya bir tuzağın kendilerini tanıdığına dair onayı almaz. Genel yanıt, botların yüklerini ayarlamak için uç noktayı kullanmasını önler.
Kararlar ve teslimat
inspect(); score, benzersiz reasons, decision ve uyumluluk bayrağı is_spam değerlerini döndürür. Varsayılan eşikler şöyledir:
İletişim Mesajlarında karantina ve spam, e-posta bildirimini engeller. WebBlocks Forms'da iş bildirimi, otomatik yanıtlayıcı, webhook ve isteğe bağlı Campaigns entegrasyonu dâhil tüm eylemleri engeller. Yorumlar hiçbir zaman otomatik olarak yayınlanmaz: temiz ve karantinaya alınmış yorumlar beklemede kalırken spam kararı spam olarak saklanır.
Sinyaller ve varsayılan ağırlıklar
Sinyaller toplanır ve nihai puan en fazla 100 olabilir. Bu nedenle birkaç zayıf sinyal, kırılgan tek bir anahtar kelime kuralına dayanmadan bir isteği karantinaya alabilir.
İçerik parmak izi oluşturulmadan önce e-posta adresleri kaldırılır; böylece gönderen değişikliği tekrarlanan bir mesajı gizlemez ve adres değiştirmek yeni bir kampanya kopyası oluşturmaz.
Kapsam, zaman aralıkları ve gizlilik
Her sayaç ve itibar sorgusu site kapsamındadır. Barındırılan bir sitedeki etkinlik başka bir sitenin puanını yükseltemez.
- Tam IP, gönderen, içerik, form ve ağ önbellek anahtarları anahtarlı HMAC kullanır; gönderilen değerler önbellek anahtarlarında görünmez.
- Ağ ön eki HMAC'inden önce IPv4 adresleri
/24, IPv6 adresleri ise/64düzeyine indirgenir. Bu, adresi saklamadan veya coğrafi konum kullanmadan dönüşümlü ana makineleri algılar. - Ağ eşikleri tam IP eşiklerinden daha yüksektir; böylece ofisler, okullar, operatör ağ geçitleri ve diğer paylaşılan ağlar çok erken cezalandırılmaz.
- Benzerlik satırları gönderilen mesajı değil, tam bir HMAC, 64 bit SimHash, sayaçlar ve zaman damgaları içerir.
- Günlük metrikler yalnızca siteyi, tarihi, yüzeyi ve toplu karar sayılarını içerir.
Gönderimin sahibi olan tablo, ürünün ihtiyaç duyduğu bilgileri saklamaya devam edebilir; örneğin bir İletişim Mesajı, ziyaretçinin sağladığı adresi ve kaynak ayrıntılarını saklar. Bu ürün kaydı, koruma itibarı ve metriklerinden ayrıdır.
Öğrenilmiş itibar ve düzeltmeler
wbcms_submission_fingerprints yerel, site kapsamlı itibarı tutar. Tam eşleşmeler en güçlü etkiye sahiptir; yakın kopyalar, önceki 90 günde en son görülen en fazla 200 parmak izi üzerinde sınırlı bir SimHash karşılaştırması kullanır.
Bir İletişim Mesajını veya WebBlocks Forms gönderimini spam olarak işaretlemek spam geri bildirimi kaydeder. Spam ya da karantinaya alınmış bir öğeyi Yeni, Okundu veya Yanıtlandı durumuna geri yüklemek ham geri bildirimi kaydeder ve sonraki yanlış pozitifleri dengeler. Arşivleme düzenleme amaçlıdır ve sisteme hiçbir şey öğretmez. Geri bildirim yalnızca sonraki gönderimleri etkiler; mevcut kayıtları geriye dönük olarak yeniden sınıflandırmaz.
Eklentiler recordOutcome($siteId, $validatedAnswers, 'spam') çağrısını yapar veya bir düzeltme için ham kullanır.
Otuz günlük yönetici özeti
Puanlanan her gönderim, sitesi, tarihi ve yüzeyi için wbcms_submission_daily_totals içindeki bir satırı artırır. İletişim Mesajları, oturum açmış yöneticinin erişebildiği sitelerdeki hareketli özeti gösterir. WebBlocks Forms bunu seçili site için gösterir.
- Denetlendi: puanlamaya ulaşan her geçerli gönderim;
- İzin verildi: normal teslimata izin verildi;
- Karantinaya alındı: teslimat engellenerek inceleme için saklandı;
- Spam: teslimat engellenerek spam olarak saklandı.
Tuzak nedeniyle atılan veya fazla hızlı istekler hiçbir zaman puanlamaya ulaşmaz, saklanmaz ve bu toplamlara dâhil edilmez. Özet, ziyaretçi sayısı ya da doğruluk raporu değil, operasyonel bağlamdır. Metrik tablosu kurulu değilken summary($siteIds, $days) sıfırlar döndürerek tamamlanmamış bir güncelleme sırasında eklenti ekranlarını güvenli tutar.
Yapılandırma başvurusu
Tüm ayarlar isteğe bağlı ortam geçersiz kılmalarıdır. Varsayılanlar tedbirlidir.
Karantina eşiğini spam eşiğinin, her ilk istek patlaması eşiğini ikinci eşiğinin altında tutun ve zaman aralıklarını pozitif olarak ayarlayın. Önbelleğe alınmış yapılandırması bulunan bir kurulumda ortam değerlerini değiştirdikten sonra php artisan optimize:clear komutunu çalıştırın.
Oluşturucu kanıt sözleşmesi
SubmissionProof, değerlerini hem yüzeye hem de form kimliğine bağlar. Oluşturucular _form_stamp, _form_check_name ve fieldName($surface, $form) tarafından döndürülen boş alanı gönderir. Eksik, değiştirilmiş, ileri tarihli veya başka bir forma ait değerler güvenli biçimde başarısız olur.
Kanıt tek kullanımlık bir belirteç değildir: tam sayfa ve CDN önbellekleri aynı formu birden fazla gerçek ziyaretçiye sunabilir. Amacı yeniden oynatmayı önlemek değil; form bağlama, bütünlük, bal küpünü adlandırma ve geçen süreyi ölçmedir.
Eklenti entegrasyonu sözleşmesi
Eklentiler doğrulama, yetkilendirme, hız sınırlama, depolama, durum adları ve oluşturma işlemlerinden sorumlu olmaya devam eder. Uyumlu bir eklenti şunları yapmalıdır:
- imzalı kanıt ve üretilmiş boş bir bal küpü oluşturmalıdır;
- geçersiz kanıtı, doldurulmuş tuzakları ve kesin asgari sürenin altındaki gönderimleri sessizce atmalıdır;
inspect()işlevine yalnızca doğrulanmış yanıtları aktarmalıdır;- gerçek site kimliğini ve kararlı yüzey/form kimliklerini kullanmalıdır;
- puanı ve nedenleri gönderimiyle birlikte kalıcı olarak saklamalıdır;
- eylemleri yalnızca karar
allowolduğunda çalıştırmalıdır; - operatörün spam/ham düzeltmelerini
recordOutcome()işlevine göndermelidir; - CMS metrik tablolarını doğrudan sorgulamak yerine
summary()işlevini kullanmalıdır.
Puanlayıcıyı bir eklentiye kopyalamayın, kurulum genelindeki eşikleri zayıflatmayın, neden kodlarını ziyaretçilere göstermeyin veya yanıtları başka bir hizmete iletmeyin. WebBlocks Forms referans uygulamadır.
Operasyonel rehber
- Karantinayı ve spam'i düzenli olarak inceleyin; öğrenme döngüsü bilinçli durum düzeltmelerine bağlıdır.
- Gerçek kampanyaları Spam olarak işaretleyin. İtibarı eğitmediği için Arşivle seçeneğini yalnızca dosyalama amacıyla kullanın.
- Yanlış pozitifleri meşru bir iş akışı durumuna geri yükleyin.
- Eşikleri yalnızca site trafiğini gözlemledikten sonra değiştirin. Daha düşük gönderen/ağ sayıları, paylaşılan ofis veya etkinlik trafiğine zarar verebilir.
- Karantina veya spam teslimatı engellediğinde, gelen kutusuna e-posta düşmeden Denetlendi sayısının artması beklenebilir. Bildirim ve editoryal durum ayrı kalır.
APP_KEYdeğerini değiştirmeden önce yedek alın. Döndürme işlemi, eski etkinin süresi dolana kadar mevcut HMAC parmak izleri ile canlı önbellek anahtarlarını yenileriyle karşılaştırılamaz hâle getirir.