Rahatsız edici terimleri / kullanıcı adlarını kaldırmak için yüksek skor tablosunu temizleyin


43

Herkese görünür, yüksek puan tablosuna sahip olmak istedikleri bir müşteri için uygulama geliştiriyorum. Oyuncuların girebileceği bir serbest metin alanı olan kullanıcı adını görüntüleyecektir. Oyuncu sayısının aşırı düşük olması muhtemel - en fazla 10 ya da 100s / gün beklerdim.

Kullanıcı adı alanı 3 karakterden uzun olacaktır. Adlar Firebase Auth hesaplarına bağlanacak, ancak bunlar Google Play veya Facebook hesabı veya benzeri herhangi bir şeye bağlı değil, uygulama aracılığıyla oluşturulur. Bence açıkça saldırgan isimleri silmekle iyi olacaklar, fakat manuel denetlemeye adanmış büyük kaynaklara sahip olmayacaklar.

Genç bir delikanlıyken, yerel çarşı kabine yüksek puan tablolarımın% 100'ü bir grup yeminli kelime ve hakaret edici terimlerden (veya bu kelimelerin çeşitlerinden) oluşuyordu.

İnternetin işleri daha iyi hale getirdiğini hayal edemiyorum.

Kullanıcı adlarını görüntüleme için güvenli hale getirmek için nasıl temizleyebilirim?


10
Müşteri, kullanıcı adlarını sterilize etmek istiyor mu? Eğer değilse o zaman şu an için sorun değil.
MonkeyZeus

5
İlk düşünceler: - Müşteriyi bu tehlikeye karşı uyarın, vaktiniz için zaman harcamak isteyip istemediklerini sorun. - Müşteriden, temizlemesi için izin verilmeyen terimlerin bir listesini vermesini isteyin. - Dürüst olmak gerekirse, bu bir mayın tarlası. Hiç kamuya açık olmasını istiyorlar mı diye sorun.
AJFaraday

4
Ayrıca bakınız: Scunthorp Problemi .
Draco18


3
İfade izin verilir mi? Skor tahtası nasıl görünecek? Skor tablonuzda skoru girmenin bir yolunu bulduğumda dci çizebilir miyim? URL’yi ad olarak girebilir miyim ("XYZ.com", "XYZ_Com", "XYZ_Dot_Com")?
xdtTransform

Yanıtlar:


73

Sadece müşterinin elle yapmasına izin vermeni öneririm.

Maliyet açısından bakıldığında, bu kez yanınızda şansınız var:

  • Günde 100'den fazla kullanıcı, muhtemelen 10 günden az olmayan bir kullanıcı bekliyorsunuz
  • Kimlik doğrulama sisteminiz var, yani yasaklar kalıcı olabilir
  • Adları silmek için mutlu bir müşteriniz var (nadiren)

Gerçek şu ki, birisinin en iyi liderlik tablolarına bakması ve aşırı isimleri yasaklaması 10 dakikanızı alacaktır - bir mühendislik çözümüne zaman harcamaktan (bu problemler olacaktır), sadece daha ucuz ve daha güvenilir olacaktır.

Bu kadar düşük oyuncu sayısıyla, bunun sık sık yapılması gerekme olasılığı düşük - en yüksek seviyede haftada bir kez bile yeterli olması muhtemeldir.


Ama çok zamanım var, doğru bir şey yapabilir miyim?

Yanlış.

Bir şeyi kolayca kolayca yapabilirsiniz, bu da müşterinin markasına hiçbir şey yapmamaktan daha zararlıdır.

Tüm kötü isimleri yakalamak için Regex kullanmak ister misiniz? Mükemmel bir şekilde doğru anlamanız umuduyla, uluslararası gerçek insan adlarının birden fazla veritabanından gelen tüm hatalı-pozitifleri filtreleyin:

https://en.wikipedia.org/wiki/Scunthorpe_problem

Ve yukarıdakileri başarılı bir şekilde yönetseniz bile, oyuncular aptal değildir - yakalamadığınız eşit derecede saldırgan bir isim oluşturmak için sisteminizde çok kolay bir yol bulurlar.

En azından, sadece en yüksek puanlara bakma ve yasaklama gibi küçük manuel çalışmalara kıyasla, bu kuralları güncel tutmak için daha da fazla çalışma eklediniz.


Hayır ama cidden, bu bir çocuk oyunudur - müşteri saldırgan isimler için HİÇBİR TOLERANS olamayacağını açıkça belirtti. Bir şey olmalı!

Eğer bu doğruysa durum, ve rahatsız edici isimlere hiç tahammül edemezsiniz. Tek gerçekçi çözüm, oyuncularınızın kendi isimlerini yaratmalarına izin vermemektir.

Bu, Cartoon Network gibi hemen hemen tüm çocuk oyun sitelerinde bulacağınız çözümdür.

Boş bir giriş yapmak yerine, önceden hazırlanmış "isim parçaları" seçimini yaparsınız. Örneğin:

  • "Muhteşem", "Fantastik", "Kurnaz" gibi bir sıfat

  • "Sakallı", "Lazer gözü", "Korsan" gibi bir orta

  • "Usta", "Kazanan", "Dedektör" gibi bir isim

Bu, görünen adları "Awesome Pirate Master" gibi şeylerle kısıtlar.

Ayrıca, kullandığınız kelimelerin listesini hızlı bir şekilde değerlendirin. Kullanıcı, hala rahatsız edici veya kirli sesler çıkarmak için adlar atabiliyorsa, bu sistemi uygulamanın bir anlamı yoktur.

Tabii ki, aynı zamanda kopyalar için de bir olasılık var - ancak ne kadar az oyuncunuz olduğu veya gerekmesi durumunda yazabilirsiniz (100 kelimeden oluşan 3 kelime, 1 milyon olası isim veriyor) ya da gerektiğinde kontrol edebilirsiniz. kayıtta başka kimsenin adı yok.

Gerçekçi olarak, kötü isimler konusunda ciddi endişeleriniz varsa, bu en etkili çözüm olabilir. Ancak, bir maliyet analizi yapmanız ve bu sistemi yapmanın bile basit manuel kontrollerle karşılaştırıldığında gerçekten değip değmeyeceğini bulmanız gerekiyor.


25
Bu cevabı sevdim, çünkü "sorun hakkında daha fazla şey öğrenene kadar bir şeyi otomatikleştirmeyin" deneyimimde neredeyse her zaman doğru olanı yaptım.
NeilD,

5
Bana Lego evreni ve penis tespitini hatırlatıyor.
n0rd

7
4 yaşında, karakter oluşturabileceğiniz konsol oyunumdan birine girmeye başlamıştı. Bu tasarruf slotu kaka, serseri, çiş vb. İle doluydu. Çocuklar bunu yapıyor ve gülüyor, çok ...
Nelson


4
“Ama hayır, cidden, bu bir çocuk oyunu.” Lego Evreni hakkında bir şey duydun mu? Lego bile bir penis detektörü üretemedi . Adı parçaları: "Kurnaz Dilbilimci Korsan."
Draco18

7

Küçük bir kullanıcı tabanı muhtemelen bir kara listeyi uygulama kolaylığından kurtarmaya yetmez. Burada neyin uygun olmadığını düşündüğünüze göre kullanıcı adlarını kolayca kontrol etmenize olanak tanıyan, burada başvurulanlar gibi birçok kütüphane ve / veya kelime listeleri vardır .

Kendi listenizi denemeye karar verdiyseniz, muhtemelen regexadları filtrelemek için kullanmak istersiniz .

Bilkokuya'nın işaret ettiği gibi , meşru isimlerin kara listeye alınmasıyla ilgili sorunlar olabilir. Bu, müşterinizin vermesi gereken bir iş kararıdır , ancak onları haberdar edebileceğiniz / yapmanız gereken bir karardır . Kültürel yönü aşmanın hiçbir yolunun farkında değilim, ancak bunun sorun olabileceği kültürlerden çok sayıda kullanıcı bekliyorsanız, bölgeye özgü filtreleme uygulamak isteyebilirsiniz.

Bazı filtreleme uygulama nedenleri (manuel kontrollere ek olarak):

  • Uygulama kolaylığı. Muhtemelen birşeyin gitmesi bir saatten fazla sürmez .

  • Daha az tahsis edilmiş şakacılara caydırıcı.

  • Kayıt anında kontrol edilmesini sağlar, hatta yüksek skor tablosuna ulaşma şanslarını azaltır.

  • Çalışır ile manuel kontroller.

  • Eski bir sorun olarak görünce, birçok kaynak mevcut olmalıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.