2011-01-25 3 views
2

포럼/블로그 댓글 .etc와 같은 사이트의 사용자가 콘텐츠를 스팸 또는 악성 코드로 표시하도록 허용 하시겠습니까? askimet와 같은 서비스를 사용하고 베이지안 스팸 필터 클래스를 만들 수 있지만 사용자가 콘텐츠를보고 할 수있는 시스템을 구현하는 가장 좋은 방법은 무엇입니까?스팸 또는 악용 사례 신고

스팸 및/또는 신고 된 항목 테이블에 추가 입력란을 추가하고 두 항목을 어떻게 구분할 수 있습니까? 기본적으로 어떻게 그러한 시스템을 구축하겠습니까? 데이터베이스 구조는 무엇입니까?

이미 PHP에서이 작업을 수행 할 수 있습니까?

답변

7

데이터베이스

당신은 각 게시물을 누가 신고했는지에 대한 자세한 추적 싶어하지만, 당신은 또한 아마뿐만 아니라 플래그에 여러 사람에게 게시물을 허용 할 것입니다. 한 사람이 게시물에 기표를하면 그들의 판단은 의문 스러울 수 있지만 20 명이 기표하면 즉시 문제가 있음을 알게됩니다. 개별적으로는 관리 또는 절제 수준에서 좀 더 고급 일을 할 수 있도록 각 플래그의

flag_seq | post_id | flagger_username |  timestamp  |  user_notes  | active 
============================================================================================ 
     1 | 1431 |   joebob1 | 2010-01-25 13:41:12 | it's spam    | TRUE 
     2 | 1431 |  i_hate_spam | 2010-01-25 14:01:23 | You know I hate spam. | TRUE 
     3 | 2283 |   joebob1 | 2010-01-24 08:09:57 | vulgar language  | TRUE 

를 추적하려면 :

은 내가 이렇게 보이는 테이블을 만들 것입니다.

  • 당신은 물건을 신고 누가 추적 할 수 있습니다 (경우에 누군가가이 기능을 남용 즉 joebob1 *이 * i_hate_spam을 좋아하지 않는다 그래서 그들은 공격으로 자신의 게시물을 신고 계속).
  • SELECT COUNT(*) FROM flag_table WHERE post_id = '1431'을 수행하면 빠른 계산을 수행 할 수 있습니다.
  • 신고 된 게시물의 flag_seq을 타겟팅하여 특정 플래그를 개별적으로 삭제할 수 있습니다.
  • 사용자가 자신의 의견을 포함 할 수 있도록 알려주십시오. 그러면 사용자는 자신이 무엇을, 왜보고했는지 정확하게 알 수 있습니다. <select> 상자에 미리 정의 된 옵션을 제공 할 수도 있습니다.
  • active 플래그를 설정하면 처리 된 후에도 플래그를 절대로 삭제할 수 없습니다. 플래그가 지정된 게시물에 대해 통계를 가져 오는 데 유용합니다. 당신은 당신이 단순히 필요, 더 절제 직원을 정당화하거나이 데이터베이스가 설정 한 후 등

깃발 싸움 스팸의 새로운 방법을 연구에 시간 약속,이 게시물

을 정당화하기 위해이 정보를 사용할 수 있습니다 각 게시물의 어딘가에 '이 게시물에 플래그를 지정하십시오'링크를 넣으십시오. 새로 작성한 데이터베이스에 제출하는 양식에 링크하십시오. mysql_real_escape_string 또는 pg_escape_string을 사용하거나 준비된 문을 사용하여 데이터베이스에 데이터를 삽입하기 전에 데이터를 올바르게 적절하게 위생 처리해야합니다.

게시물이 플래그가되면 당신은 여러 가지의 소수를 할 수

절제.

  • 각 게시물의 플래그 양을 확인하고 특정 임계 값에서 특정 조치를 취하는 cron을 작성할 수 있습니다.
  • 활성 플래그를 처리하는 다른 방법으로 모든 활성 플래그를 나열하는 검토 페이지를 작성할 수 있습니다. (예 : 소식 삭제, 소식 수정, 포스터 차단, 모든 위 등)
0

자신을 처음부터 구현하려는 경우 reports라는 테이블을 만들어야합니다.

이 표는 이러한 필드를해야합니다 :

  • 이유
  • 날짜

나는 그게 꽤 많이 생각 POST_ID REPORT_ID.

0

PHP에 내장 된 것이 있는지 잘 모릅니다. 당신은 확실히 테이블에 추가 필드를 사용할 수 있습니다 .. 는 플래그

마다

, 당신을 학대 또는 무언가와 같은 일부 사용자 플래그 포스트는 ... 날짜는

ID 제목 내용 같은 테이블 포스트 뭔가를 말 단순히 플래그에서 카운터를 증가시킬 수 있습니다. 그리고 카운터가 원하는대로 임계 값에 도달하면 (3에서 5로 낮게 유지하십시오). 임계 값을 넘는 경우 게시물이나 삭제하려는 작업을 삭제하십시오!

관련 문제