이제는 사람이 이러한 발신자 중 어떤 사람이 수락 가능하며 어떤 스패머인지 확인할 수 있습니다. 모든 사람의 메시지를 볼 수있는 인간, 더욱 그렇습니다. 그러나 모든 메시지를 읽고 싶지는 않습니다!
먼저 메시지를 데이터베이스에 추가 할 수 있지만 스팸이 의심되므로 수신자의받은 편지함에는 나타나지 않도록 메시지 플래그 또는 상태가 있어야합니다.
둘째, 스팸이 의심되므로 사용자가 더 많은 메시지를 보내지 못하도록 사용자 플래그 또는 상태가 있어야합니다.
나는 가장 좋은 방법이라고 생각 :
- 메시지에 세 개의 새로운 DB의 필드를 추가 - 즉, 링크, flagstatus (두 개의 텍스트와 작은 int)를
- 사용자에게 하나 개의 새로운 필드를 추가 - spamwarnings (int)
- PHP가 메시지를 추가 할 때 처리합니다. 일반적인 단어 (a, the)와 수신자 이름 및 URL을 필터링하고
words
에 고유 단어를 저장하고 links
에 고유 링크를 저장하십시오.
- 메시지가 데이터베이스에 추가 될 때 스팸 테스트 (아래 참조)의 첫 번째 단계를 수행합니다 (PHP에 이미 메시지 텍스트가 있기 때문에 확인하는 것이 좋습니다). 점수가 높으면 자동/수동 검토를 위해 플래그를 지정하십시오.
- 는
- 숨기기 사용자의받은 편지함에서 메시지 및 알림
- 실행 시간당
- 인간이 그것을 해제 또는 그것을
을 제거, 스팸 의심 보통 가지고 스팸 점수의 두 번째 패스를 플래그 사용자가 스팸으로 메시지를 표시 할 수 있도록 허용
첫 번째 패스 스팸 점수
- 은받는 사람이 이제까지 보낸 사람에게 메시지를 보냈습니까? 예 = -10, 아니오 = +2
- 메시지에 링크가 있습니까? 예를 들면 +2, 각 링크는 +1입니다.
- 메시지에 특정 '스팸성'단어가 포함되어 있습니까? 각 단어 +1.
- 보낸 사람은 지난 한 시간 동안 몇 개의 메시지를 보냈습니까? 각 +1.
- 사용자의 스팸 경고 개수가 2 이상입니까? 점수가 5이면 검토 용으로 플래그를 지정하고 사용자의 스팸 경고 수를 증가시킵니다.
두 번째 패스 스팸 점수
- 이이 페이지의 다른 아이디어의 조합을 사용하여 동일한 보낸 사람이 다른 플래그가 지정된 메시지에 플래그가 지정된 메시지를 비교 할 부분입니다.
인간의 절제
- 나는이 피할 수있는 방법을 볼 수 있지만, 위의 읽을 수있는 메시지의 수를 줄일 수 있습니다. 또한이 작업은 고유 한 단어와 링크를 읽는 것에서 만 수행 할 수 있습니다 (개인 정보 보호 유지).
또한 위의 구조를 사용하여 부적절한 콘텐츠에 대한 메시지를 검토 할 수 있어야합니다.
누군가에게 "안녕하세요"라고 말할 수있는 방법은 1000 가지가 아닙니다. p – HamZa
@HamZaDzCyberDeV : 사실이지만 스팸 메일은 일반적으로 텍스트의 단락이므로 메시지를 무시할 수 있습니다 ** 100 ** 미만의 문자로 자동 완성됩니다. – ProgrammerGirl
내 대답은 [여기] (http://stackoverflow.com/a/12768075/) 귀하의 문제를 해결하기위한 소개 수 있습니다. – HamZa