2010-08-07 2 views
2

예를 들어 1 일 또는 1 주일 동안 만 사용자를 차단하려면 내 사이트에서 임시 금지 시스템을 설정하고 싶습니다. 금지 기간을 선택할 수 있으며 데이터베이스에 적절한 레코드가 만들어 지므로 금지 기간이 끝났을 때 자동으로 해당 레코드를 업데이트 할 수 있는지 알고 싶습니다 ... 아니면 다른 제안은 무엇입니까?일정 기간이 지나면 자동으로 사용자 차단 해제

답변

5

나는 금지 레코드를위한 별도의 테이블을 만들 것입니다. 각 레코드는 다음을 포함합니다 :

  • 금지 된 사용자 (외래 키).
  • 누구가 금지 (외래 키)를 만들었습니까.
  • 금지 된 시간.
  • 금지 기간이 만료 된 시간.
  • 금지 이유.
  • 금지 된 시점의 사용자의 IP 주소입니다.
  • 금지가 여전히 활성 상태 인 경우 (전체 기간이 만료되기 전에 사용자의 착신을 해제하기로 결정한 경우).

추적하려는 정보에 따라 다른 정보가 표시 될 수 있습니다. 금지가 만료되면 금지 표에서 레코드를 삭제하려면 이 아닌이 좋습니다. 이것은 반복적으로 범죄자가 누구인지 알아내는 데 유용 할 수있는 금지 목록을 가지고 있음을 의미합니다. 당신이있을

또 다른 문제는 의도적으로 불공정 금지에 대해 불평하고 금지 및 차단이 해제 될 때와 이유에 대해 거짓말을하여 문제를 일으킬하려고 사람들입니다. 모든 금지에 대한 완전한 기록을 보관한다면이 사람들을 다루는 것이 훨씬 쉽습니다.

+1

좋은 대답입니다.이 방법으로 특정 사용자의 금지 내역을 추적 할 수 있습니다. 또한 이미 해제 된 금지 사항을 추적하기 위해 상태를 추가해야 할 수도 있습니다. 나중에 쿼리를 저장하는 것이 좋습니다. – ariefbayu

+0

@ silent : +1 좋은 것을 추가했습니다. –

2

데이터베이스의 금지 날짜 (및 어쩌면 시간)를 저장합니다. 사용자가 로그인을 시도하자마자 현재 날짜 (시간)와 종료 날짜를 비교할 수 있습니다. 새로운 사용자 인 경우 사용자가 금지되어 로그인 할 수 없습니다. 프로필이있는 사용자는 현재 날짜 (시간)를 금지 조항과 비교하고 해당 정보를 기반으로 "금지됨"을 표시 할 수 있습니다.

관련 문제