2010-12-26 4 views
0

소셜 사이트에 대한 활동 추적 시스템 만들기. 로그인 전 로그 오프 시점으로부터의 모든 사용자 활동이 추적됩니다. 즉, 첫 번째 사용 사례는 사용자 로그인입니다. 모든 활동에는 동일한 형식이 있으므로 한 활동을 추적하는 방법을 찾으면 모든 활동에 대해 곰을 만들 수 있습니다. 내가 가진로그인 추적을위한 활동 추적 사용

두 솔루션 :
활동 1 : 현재 로그인에 내가 좋아하는 단계를 사용자
활동 2를 로그인을 시도 A : 사용자가 성공적으로
활동이 B에 로그인 한 : 사용자가 로그인하지 못했습니다.
활동 2 B A : 잘못된 암호로 인해 사용자가 로그인하지 못했습니다.
활동 2 B B : 잠긴 계정으로 인해 사용자가 로그인하지 못했습니다.

또는

Activty 1 : 사용자 로그인 - 결과 = 실패 또는 전달 실패 이유 = 이유 flag_id 경우.

따라서 스키마를 만들어야합니다. 지금이 같은 것이있다 :

OBJECT_ID (FK)
SESSION_ID (FK)
USER_ID (FK)
flag_id (FK)
created_dt
friend_id (FK)
결과 activity_id (/ 전달 실패)

그러나 이것은 진행중인 작업입니다.

+0

어떤 언어입니까? – RobertPitt

+0

PHP는 중요하지만 중요하지 않습니다. 소셜 사이트이므로 사용자 활동 추적을 구현하여 활동을 기록하는 스키마를 만드는 방법을 결정해야합니다. – Mdillion

답변

1

이 요구 사항은 시스템에 대한 로그인 시도 감사가 있어야하며 실패한 로그인 이유를 포함해야한다는 것입니다 (간단히 말하면). 표는 다음과 같이 보일 수 있습니다 :

LoginAudit 
    ID (some kind of primary key, whatever your standards are) 
    UserID (FK to whatever table holds users, or whatever uniquely identifies a user) 
    LoginTime (time stamp of attempt) 
    IsSuccessful (bit, true or false, was the login successful?) 
    Status (FK to a table of known statuses, or just the status itself for a flat de-normalized structure, indicating "success" or a reason for failure, such as "invalid password" or "account locked") 
    (more relevant data, such as user's IP or location, etc.)... 

이것은 쓰기가 많은 표이므로 (색인 생성을주의하십시오) 데이터가 변경되지 않아야합니다. 업데이트 등을 막기 위해 트리거를 걸고 싶을 수도 있습니다.

참고로,이 말은하지 않고 말할 수는 있지만 어쨌든이를 대비해야한다고 생각합니다. 사용자가 여기에 저장할 때 로그인 실패 이유. 모든 사용자는 로그인에 실패했음을 알 수 있습니다. 로그인에 실패한 이유는 공격자가 시스템을 조작하는 데 사용할 수있는 추가 정보를 제공하기 때문입니다.

+0

이것은 사용자 활동 추적 모듈의 1 분기 부분입니다. 그것은 소셜 사이트이고 로그 오프 할 때까지 로그인 시점에서 모든 사용자 활동을 추적해야하지만, 활동 설계에 따라 스키마 (모든 시스템 활동을 보유하는 테이블 열)를 작성해야합니다. – Mdillion

+0

제안하지 않는 한 가능한 활동마다 1 개의 테이블이 있습니까? – Mdillion

+0

@Mdillion : 그 질문이 아니기 때문에, 나는 그것을 제안하지 않고있다. 원래 질문은 사용자 로그인 시도를 추적하여 실패한 로그인에 대한 이유를 포함하는 것입니다. 더 많은 것이 있다면 질문에 추가하고 가능한 한 명확하게 표현할 수 있습니다. – David