Son zamanlarda, spam (özellikle yorumlarda) spam'e eğilimli kullandığım bazı web siteleri için JavaScript, Greasemonkey tarzı spam filtreler yazmaktan ilham aldım. Bununla ilgili seçeneklerimi düşünürken, her birinin artı/eksileri olan birkaç seçeneğim olduğunu fark ettim. Bu soruya yönelik amacım, oluşturduğum bu listeyi genişletmek ve umarım, istemci tarafında spam filtrelemenin JavaScript ile en iyi yolunu belirlemektir. Bir spam ben bu kriterler söyleyebilirim, "en iyi" filtre kılan gelinceSpam'i JavaScript ile filtrelemenin en iyi yolu nedir?
:
- En doğru saldırılara
- Az savunmasız
- En hızlı
- En şeffaf
Ayrıca, lütfen içeriği filtrelemeye çalıştığımı unutmayın. Greasemonkey Userscripts kullanarak benim olmayan web sitelerinde zaten var. Başka bir deyişle, spam'i engelleyemem; Sadece filtreleyebilirim.
Kural tabanlı filtreler: Ne işe yarar
İşte
onların eksikliklerini ve yararlarının yanı sıra çeşitli yöntemler bir listesini derlemek için şimdiye kadar benim girişimidir : "Kriterler", farklı ölçütlere bir nokta değeri atayarak "derecelendirir" (tüm büyük harf, tümü alfasayısal olmayan, vb.). Puana bağlı olarak, mesaj atılır veya saklanır. o diske kodunu ters mühendislik genellikle kolaydır Transparent-
- :
Faydaları:
- Kolay
- Çoğunlukla şeffaf
eksiklikler uygulamak kurallar üzerinde ve dolayısıyla alınmayacak mesajlar
- Denge noktası değerlerini sabitleme (yanlış pozitif)
- Yavaş olabilir; Birden fazla kural bir çok kez düzenli ifadeler bir istemci tarafı ortamında
- kullanarak, her iletide yürütülecek olan, sunucu etkileşimi veya kullanıcı etkileşim kurallarını güncellemek için gereklidir
Bayes filtreleme:
İşlevi: kelime frekansı (veya trigram frekansı) Analizleri ve olmuştur ile yetiştirdiği verilerle karşılaştırır.
Faydalar: zanaat kurallarına
- Gerek
- Hızlı (nispeten)
- Sıkı mühendis
eksiklikler tersine çevirmek için:
- Etkili olması için eğitim gerektirir.
- Eğitimli verilere hala JavaScript'ten erişilebilmelidir; Genellikle insan tarafından okunabilir JSON, XML veya düz dosyası şeklinde
- Veri kümesi
- Kötü tasarlanmış filtreler spamacity notunu düşürmek için ortak kelimelerin iyi bir yardımcı ile karıştırmayın kolay oldukça büyük alabilirsiniz
- Daha önce görülmemiş kelimeler doğru bir şekilde sınıflandırılamaz; bazen bir istemci tarafı ortamında tüm mesajla
- hatalı sınıflandırma sonuçlanan sunucu etkileşimi veya kullanıcı etkileşim kurallarını
Bayes filtering- sunucu tarafında güncelleştirmek için gereklidir:
neler Bunu yapar: Her bir iletiyi analiz için uzak bir sunucuya göndererek Bayesian filtreleme sunucusu tarafını uygular.
Faydaları: Düzenli Bayes filtreleme
- Tüm faydaları
- Eğitim veriler, kullanıcılara açıklanmaz/geri mühendisleri
eksiklikler:
- ortak kelimeler ekleyerek için
- Yine savunmasız rastlanan kelimeler Hala savunmasız Yoğun trafik
- kullanıcıların istenmeyen örnekleri göndermesine izin istenebilir, Hizmetin kendisi sınıflandırıcı eğitmek için
- istismar edilebilir spamacity
- azaltmak için eğitim için. Saldırganlar bu servisi
kara listeye kötüye olabilir:
İşlevi: bir mesaj veya bir kısmı öznitelik için bir dizi kriter uygular. Bir veya daha fazla (veya belirli bir sayıda) kriterle eşleşirse, mesaj reddedilir. kural tabanlı filtreleme gibi bir çok ayrıntı için açıklamalarına bakın.
CAPTCHA'ların ve benzeri: bu tip uygulama için
mümkün değil. Bu yöntemleri zaten var olan sitelere uygulamayı deniyorum. Bunu yapmak için Greasemonkey kullanılacaktır; CAPTCHA'ları, komut dosyamı yüklemeden önce olmadıkları yerlerde gerek duymaya başlayamıyorum.
Herkes boşlukları doldurmama yardım edebilir mi? Teşekkürler,
Bu nedenle, hedefiniz, yeterli korumanın bulunmadığı siteler için kullanıcıların tarayıcısına yönelik spam kontrolü ekliyor mu? Siteden yorumları dinamik olarak kaldırabilirsiniz. İlginç olsa da, kaç sitenin bundan fayda sağlayacağından emin değilim. –
Gerçekten yapmaya çalıştığım şey, buna izin veren bir platform oluşturmak. Bu önce gelir. Sonra farklı sitelere uygulayacağım. Yorumların çoğu spam olduğundan, Facebook birincil hedeflerimden biridir. –
Spam filtreleri arka tarafa eklemek için önemsizdir. Söz konusu sitenin yöneticileri bunu yapmak için fazla tembelse, siteyi kullanmaya başlamaktan daha iyi olursunuz. Neden onlar için işlerini yaparak berbat bir site ödüllendiriyorsunuz? Facebook’tan hiç bahsetmediğin garip bir şey var. Sadece spam gönderenler ile arkadaşlık etmek isteyebilirsiniz ... – Cerin