감시 중인 단어 승인이 사용자가 답글을 수정하면 작동하지 않음

우리 포럼에 스팸 아마존 링크를 게시하는 스팸 사용자들이 있습니다. 이러한 아마존 링크를 잡기 위해 감시 단어를 설정했지만, 작동하지 않았습니다. 이후 더 자세히 조사해 보니 그들이 어떻게 빠져나갔는지 알게 되었습니다. 먼저, 이 스팸 사용자들은 정상적인 답변을 게시하고 몇 분 후 답변을 수정하여 스팸 아마존 링크를 추가합니다! 수정 작업은 감시 단어를 트리거하지 않았습니다. 이것은 Discourse의 버그라고 생각합니다. 수정해 주시겠습니까?

로컬 환경에서 기존 게시물에 감시 중인 단어를 추가해 보았지만, 해당 단어가 올바르게 대체되었습니다.

제거되었어야 할 링크와 감시 중인 단어 설정 화면의 스크린샷을 포함한 구체적인 예시를 제공해 주시겠습니까?

감사합니다! 예를 들어 이 스팸 게시물을 확인해 보세요: https://www.uscardforum.com/t/topic/81665/3?u=uscreditcardguide

그리고 이것은 저희의 감시 단어 설정입니다:

주시 중인 단어는 t.co/이고 스팸 게시물에 있는 링크는 https://t.co/rX42eIcsjD이므로 주시 중인 단어가 트리거되어야 합니다. 하지만 트리거되지 않는 원인은 아마도 링크가 아래처럼 보이게 표시되고 있기 때문일 수 있으며, 이로 인해 t.co/ 대신 해당 링크에 주시 중인 단어 설정이 적용되고 있을 가능성이 큽니다.

이 문제를 더 자세히 조사해 보겠습니다.

감사합니다. 아래는 저희 관리자 계정이 복사한 정확한 답변이며, 여러분의 연구에 도움이 되기를 바랍니다:

공유해 주셔서 감사합니다~ 애플(Apple)에 대해 말씀하셨는데, Apple AirPods Pro 이어폰이 30% 할인 중입니다. 링크: www.amazon.com/dp/B09JQMJHXY .
이런 가격, 어때요?

문제를 더 잘 반영하도록 제목을 변경했습니다. UI에서는 URL을 감시 대상 단어로 사용할 수 없다는 것을 암시하는 부분이 전혀 없는데, 현재로는 작동하지 않습니다. 이 문제를 조사 중이며, 업데이트가 있는 대로 다시 알려드리겠습니다.

또한 이것이 버그인지 100% 확신하지 못하겠습니다. @JammyDodger 님의 의견은 어떻게 되나요?

판단하기가 좀 까다로운 문제입니다. 오래된 과실인지, 아니면 원래 의도되지 않은 것을 코드에 요구하는 것인지요. 링크 텍스트까지 포착할 수 있다면 스팸 방지 도구로서 분명 유용할 것 같지만, 그것이 지나친 요구인지 기술적으로 판단할 능력이 저에게는 부족합니다. :slight_smile:

안녕하세요, 수정하신 제목은 문제를 정확히 반영하지 못하고 있습니다. 오늘 다시 확인해 본 결과, 사용자가 링크를 직접 게시하면 감시 대상 단어가 URL에서 정상적으로 작동합니다. 문제는 사용자가 먼저 내용을 게시한 후 답글을 수정할 때만 발생합니다. 수정 및 저장 과정에서 감시 대상 단어 기능이 트리거되지 않습니다.

위 내용을 참조하십시오. 문제는 감시 중인 단어가 URL에서 작동하는지에 관한 것이 아닙니다. 문제는 사용자가 자신의 답변을 수정할 때 감시 중인 단어 기능이 작동하지 않는다는 것입니다.

버그 재현 방법은 다음과 같습니다:

감시 단어 목록에 "thisisjustatest"를 추가합니다.

관리자가 아닌 사용자로 "thisisjustatest"가 포함된 답변을 게시하면 감시 단어가 트리거됩니다.

관리자가 아닌 사용자로 먼저 다른 단어로 답변을 게시한 후, 답변을 수정하여 “thisisjustatest” 단어를 추가하면 감시 단어가 트리거되지 않으며, 사용자는 해당 단어를 답변에 성공적으로 추가할 수 있습니다.

직접 시도해 보았습니다. :+1:

  • 차단 감시 단어 목록에 thisisjustatest를 추가했습니다.
  • TL2 테스트 사용자로 This is a reply라는 글을 게시했습니다.
  • 여전히 TL2 테스트 사용자로 해당 글을 편집 모드로 열었습니다.
  • 기존 This is a reply 텍스트와 함께 thisisjustatest를 붙여넣었습니다.
  • 수정

  • 감시 단어가 수정을 성공적으로 차단했습니다.
  • editing grace period(수정 유예 기간)을 1로 설정하고 테스트를 반복했습니다. 결과는 동일했습니다.

그러나 차단 감시 단어 목록에 t.co/를 넣고 TL2 테스트 사용자로 스팸 메시지 谢谢分享~ 说到apple,apple airpods pro耳机在30% off,link: [www.amazon.com/dp/B09JQMJHXY](https://t.co/rX42eIcsjD) , 这种价格怎样?를 게시하려고 했을 때, 수정을 위해 다시 들어갈 필요 없이 처음에는 게시할 수 있었습니다. (와일드카드를 추가하는 것을 잊었습니다 :slightly_smiling_face:)

여러분은 해당 링크를 직접 여러분의 사이트에서 게시해 보셨나요? 그리고 thisisjustatest 테스트가 여러분에게도 작동했나요? 만약 그렇다면, 제 테스트 사이트에서도 동일한 결과를 얻을 수 있도록 다른 세부 정보를 알려주실 수 있을까요?

저도 동일한 테스트를 수행해 보았으며, 신뢰 수준 1 사용자는 편집을 통해 "thisisjustatest"를 아무 문제 없이 추가할 수 있었습니다. 구체적으로, 감시 단어의 “승인 필요” 유형에 "thisisjustatest"를 입력해 두었습니다. 이것이 우리 테스트 간의 차이점일 수 있습니다.

네, 그것이 차이점입니다. 감시 단어 목록에서 “차단” 유형에 “thisisjustatest”를 추가해 보았는데, 새 답변에 감시 단어가 포함되면 편집이 차단되었습니다. 그러나 “승인 필요” 유형의 감시 단어는 편집 시에는 작동하지 않습니다.

신뢰 수준 1 사용자가 이 메시지를 직접 게시하면, 감시 대상 단어가 올바르게 작동하여 메시지가 먼저 승인될 수 있도록 관리자에게 전송됩니다: " 감사합니다~ apple에 대해 말하자면, apple airpods pro 이어폰이 30% 할인 중입니다. 링크: [www.amazon.com/dp/B09JQMJHXY](https://t.co/rX42eIcsjD) , 이런 가격은 어떨까요?"

문제는 사용자가 기존 게시물을 수정할 때만 발생합니다.

제 개인적인 문제의 경우, 감시 단어 목록에서 *t.co/*를 "승인 필요"에서 "차단"으로 옮기면 될 것 같습니다.

다만, 편집 기능을 통해 “승인 필요” 유형의 감시 단어를 우회할 수 있는 것은 버그라고 여전히 생각합니다. 이를 버그로 보고 수정할지, 아니면 그대로 둘지는 전적으로 당신에게 달려 있습니다.

t.co/ 테스트에 와일드카드를 넣는 것을 잊었네요. :slightly_smiling_face: *t.co/*로 다시 실행해 보니, 의도대로 스팸 링크가 처음부터 차단되었습니다. :+1:

하지만 차이점을 발견하신 것 같습니다. 승인(Approval)과 차단(Blocking)은 다른 개념이죠. 다만, 최초 게시뿐 아니라 편집에 대해서도 일종의 감독이 필요하다는 의견에는 동의합니다. 다른 주제/게시물 승인 방식과 동일한 방식으로 작동한다고 생각하기 때문에, 이것이 버그라고 보기는 어렵습니다. 하지만 좋은 추가 기능이 될 수 있겠네요.