현재 문제가 되고 있는 소스는 아래와 같습니다.
<div style="width:1px;height:1px;overflow:hidden;">
<a href="https://abc.com" target="_blank" rel="noreferrer noopener">
</a>
<a href="https://abc.com" target="_blank" rel="noreferrer noopener">
</a>
<a href="https://abc.com" target="_blank" rel="noreferrer noopener">
</a>
<div>
a 태그는 굉장히 많아서 일부만 작성했습니다.
1. width:1px;height:1px;overflow:hidden; 해당 소스는 애드온의 금칙어에 걸려서 글 등록이 차단되도록 되어있습니다.
- 실제 관리자인 제가 해당글을 수정하거나 해당 소스를 포함해서 새롭게 글을 작성하면 차단 되면서 운영자에게 쪽지가 잘 옵니다.
- 그런데 스패머가 작성할때 통과가 되는 이유를 모르겠습니다.
2. a 태그가 빈태그라 실제 에디터에서 수정을 해 보면
<div style="width:1px;height:1px;overflow:hidden;"> </div>
이런식으로만 보입니다. 아마 라이믹스 코어에서 빈태그는 보여주지 않거나 하는 것 같습니다. CK에디터에서 처리하는지는 잘 모르겠습니다.
이 경우 관리자가 굉장히 많은 a 태그가 있다는 것 조차 인지하지 못하고 문제로 인식하지 못할 가능성이 매우 높습니다.
다시 돌아와서
procBoardInsertDocument before 시점에서 분명 저 금칙어 체크가 되도록 되어 있고
금칙어가 검출되면 글 작성 자체가 금지 되도록 되어 있는 것이 통과과 되는 이유가 궁금합니다.
- 제가 일반적인 글쓰기 방법으로 테스트 시 에는 절대 글 작성이 되지 않습니다.
정상적인 글쓰기 버튼을 이용하지 않고 작성했다고 생각하기 어려운데 뭔가 다른 방법으로 글 쓰기를 할 수 있는 부분이 있는지 있다며 그런 경우도 허용하지 않으려면 라이믹스 코어에서 제공하는 것 외 별도 방안을 마련해야 하는지 알고 싶습니다.
*누군가 가입해서 유머글 열심히 써준다고 고맙게 생각하다가 해당 회원이 작성한 글 소스를 db에서 보시면 놀랄 수 있습니다. CK에디터에서는 <div style="width:1px;height:1px;overflow:hidden;"> </div> 만 보이지만 db 또는 개발자도구에서 컨텐츠 영역쪽의 소스를 보면 엄청난 수량의 a 태그가 있는게 보입니다.
실제로 post 요청으로 access_log 한 값들을 분석해보셔서.. 실제로 스팸이 등록될때 해당 스팸이 등록한 글을 debug나 일부 다른곳에 남겨서 어떤내용으로 썼는지 보시는게 맞을 것 같아요.
게시글 볼때 <div style="width:1px;height:1px;overflow:hidden;"> 으로 나타나더라도 실제로 필터링의 의해서 마지막으로 수정된 값일 수 있거든요.
실제로 스패머가 등록할때 어떤내용으로 등록하는지 확인하시는게 먼저가 아닐까 생각이 드네요..
만약 같은 내용으로 등록했다면 애드온의 처리방식을 다시 확인해보아야 하지 않을까 싶어요.