불쾌한 용어 / 사용자 이름을 제거하기 위해 높은 점수 표를 삭제하십시오.


43

고객이 공개적으로 볼 수있는 최고 점수 테이블을 요청한 클라이언트 용 앱을 만들고 있습니다. 플레이어가 입력 할 수있는 자유 텍스트 필드 인 사용자 이름이 표시됩니다. 플레이어 수는 극도로 낮을 것입니다. 최대 10 ~ 100 대 / 일을 기대합니다.

사용자 이름 필드는 3자를 초과합니다. 이름은 Firebase 인증 계정에 연결되지만 Google Play, Facebook 계정 또는 이와 유사한 항목에는 연결되지 않고 앱을 통해 생성됩니다. 나는 명백히 불쾌한 이름을 삭제하면 괜찮을 것이라고 생각하지만 수동 조정에 대한 막대한 자원을 가지지는 않을 것입니다.

내가 어린 소년이었을 때, 내 로컬 아케이드 캐비닛 최고 점수 테이블의 100 %는 많은 욕설과 공격적인 단어 (또는 그러한 단어의 변형)로 구성되었습니다.

인터넷이 문제를 전혀 개선하지 않았다고 생각합니다.

안전하게 표시하기 위해 사용자 이름을 삭제하는 방법은 무엇입니까?


10
고객이 사용자 이름을 삭제하려고합니까? 그렇지 않다면 지금 당장 문제가 아닙니다.
MonkeyZeus

5
첫 번째 생각 :-고객에게이 위험에 대해 알리고, 처리하는 데 시간을 투자 할 것인지 묻습니다. -고객에게 제거 할 수없는 용어 목록을 제공하도록 요청합니다. 솔직히 이것은 지뢰밭입니다. 그들이 공개하기를 원하는지 물어보십시오.
AJFaraday

4
Scunthorp Problem 도 참조하십시오 .
Draco18s

4
정확히 같은 것은 아니지만 충분히 비슷합니다. 외설 필터 : 나쁜 생각입니까, 아니면 잘못된 생각을 심어주는 것입니까?
Gary

3
이모티콘이 허용됩니까? 스코어 보드는 어떻게 표시됩니까? 스코어 보드에 점수를 입력하는 방법을 찾은 후 ascii가 동을 그릴 수 있습니까? Url을 이름 ( "XYZ.com", "XYZ_Com", "XYZ_Dot_Com")으로 입력 할 수 있습니까?
xdtTransform 12

답변:


73

클라이언트가 수동으로 수행하도록하는 것이 좋습니다.

비용 측면에서 이번에는 운이 좋았습니다.

  • 하루에 100 명 이하의 사용자를 예상하며 하루에 10 명 이하
  • 인증 시스템이 있으며 이는 금지가 영구적 일 수 있음을 의미합니다.
  • 이름을 자주 삭제하는 클라이언트가 있습니다 (드물게)

실제로 누군가가 최고 순위표를 살펴보고 극단적 인 이름을 금지하는 데 10 분이 걸릴 것입니다. 엔지니어링 솔루션에 시간을 소비하는 것보다 문제가 더 저렴하고 안정적 ​​일 것입니다.

플레이어 수가 적 으면 주당 한 번이라도 충분할 가능성이 높습니다.


하지만 시간이 충분합니다. 올바른 일을 할 수 있습니까?

잘못된.

당신은 전혀 잘못을 저지르는 일을 매우 쉽게 할 수 있습니다. 그것은 전혀하지 않는 것보다 고객의 브랜드에 더 해로운 것입니다.

모든 나쁜 이름을 잡기 위해 Regex를 사용하고 싶습니까? 완벽하게 이해하고 국제 실명으로 구성된 여러 데이터베이스의 모든 오 탐지를 필터링하십시오.

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

그리고 당신이 위의 것을 성공적으로 관리하더라도, 플레이어는 바보가 아닙니다-그들은 당신이 붙 잡지 않는 똑같이 공격적인 이름을 만들기 위해 시스템 주위의 방법을 매우 쉽게 찾을 것입니다.

최소한, 가장 높은 점수를보고 금지하는 소규모 수동 작업과 비교하여 이러한 규칙을 업데이트하는 데 더 많은 작업을 추가했습니다.


아니, 진지하게, 이것은 어린이 게임입니다-고객은 불쾌한 이름에 대한 관용이 없다는 것을 분명히했습니다. 뭔가가 있어야합니다!

이것이 정직한 경우라면 공격적인 이름을 전혀 용납 할 수 없습니다. 유일한 현실적인 해결책은 플레이어가 자신의 이름을 만들지 못하게하는 것입니다.

이 솔루션은 Cartoon Network와 같은 거의 모든 어린 이용 게임 웹 사이트에서 찾을 수있는 솔루션입니다.

빈 입력을하는 대신 미리 만들어진 "이름 부분"을 선택할 수 있습니다. 예를 들면 다음과 같습니다.

  • "Awesome", "Fantastic", "Cunning"과 같은 형용사

  • "수염", "레이저-아이", "해적"과 같은 중간

  • "Master", "Winner", "Detector"와 같은 명사

표시 이름을 "Awesome Pirate Master"와 같은 것으로 제한합니다.

또한 사용중인 단어 목록을 빠르게 고려하십시오. 사용자가 여전히 불쾌하거나 더럽게 들리는 것을 얻기 위해 이름을 피들 링 할 수 있다면이 시스템을 구현할 필요가 없습니다.

물론 중복 가능성도 있지만 플레이어 수에 따라이 정보를 쓸 수 있습니다 (100 개의 단어 목록 3 개, 이미 100 만 개의 가능한 이름 제공). 또는 필요한 경우 여전히 확인할 수 있습니다 아무도 등록에 이름이 없습니다.

현실적으로 나쁜 이름에 대해 심각하게 걱정하는 경우 가장 효과적인 솔루션 일 수 있습니다. 그러나 비용 분석을 수행해야하며이 시스템을 만드는 것조차도 간단한 수동 검사와 비교하여 실제로 가치가 있는지 여부를 찾으십시오.


25
"문제에 대해 더 많이 알기 전까지는 자동화하지 마십시오"는 거의 항상 내 경험에서 옳은 일 이었기 때문에이 답변이 마음에 듭니다.
NeilD

5
레고 우주와 음경 감지를 상기시킵니다.
n0rd

7
4 살짜리 아이가 캐릭터를 만들 수있는 콘솔 게임 중 하나에 액세스 할 수있었습니다. 저축 슬롯은 똥, 부랑자, 오줌 등으로 가득 차있었습니다. 아이들은 이렇게하고 많이 웃습니다.
Nelson


4
"그러나, 진심으로, 이것은 어린이 게임입니다." 레고 유니버스에 대해 들어 보셨습니까? 레고조차도 음경 감지기를 만들 수 없었습니다 . 이름 부분 : "Cunning Linguist Pirate."
Draco18s

7

작은 사용자 기반으로는 블랙리스트를 쉽게 구현할 수 없습니다. 여기에 언급 된 것과 같은 많은 라이브러리 및 / 또는 단어 목록 이있어 사용자가 부적절하다고 생각하는 것에 대해 사용자 이름을 간단히 확인할 수 있습니다.

자신의 목록을 사용하기로 결정한 경우 regex이름을 필터링하는 데 사용할 수 있습니다.

Bilkokuya가 지적한 것처럼 합법적 인 이름이 블랙리스트에 올라 오는 문제가있을 수 있습니다. 이는 고객이 결정해야 할 비즈니스 결정 이지만, 고객 이 알 수 있도록해야합니다. 문제가있을 수있는 문화권에서 많은 사용자를 기대하는 경우 지역별 필터링을 구현할 수 있다는 점을 제외하고는 문화적 측면을 해결할 수있는 방법을 모릅니다.

수동 검사 외에 어떤 형태의 필터링을 구현해야하는 이유 :

  • 쉬운 구현. 아마도 무언가 를 얻는 데 1 시간 이상 걸리지 않을 것입니다.

  • 덜 헌신적 인 장난에 대한 억제.

  • 등록시 점검하여 최고 점수 테이블에 도달 할 가능성을 낮 춥니 다.

  • 수동 검사 와 함께 작동 합니다.

  • 오래된 문제이므로 많은 리소스가 있어야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.