실례로 내 문제를 설명하는 것이 가장 쉽습니다. 로그인하지 않아도 YouTube는 시청 한 동영상을 기억하고 다음에 이전에 시청 한 영화를 바탕으로 한 추천을 제공합니다.쿠키로 투표하는 것을 기억하는 방법은 무엇입니까?
내 사이트는 사용자가 로그인하지 않고 기사에 투표 할 수있는 방식으로 비슷하며 사이트는 쿠키로 투표를 기억합니다. 나는 작동 방법을 알아 냈지만 더 쉬운 방법이 있어야합니다. 또한 이제 DB 사용은 최적화되었지만 최적화되었습니다.
방문자마다 쿠키가 있는지 확인합니다. 그렇다면 나는 그의 표를 질의한다. 그렇지 않으면 거짓 사용자를 만들고 쿠키를 보내십시오. 이제이 사용자의 "last_visit"타임 스탬프를 저장합니다. 이 모든 것이 두 사용자 모두에게 동일합니다. 내 문제는 내 DB가 가짜 사용자로 가득 차서 쿠키가 3 개월 만에 만료되고 내 사이트는 지난 3 개월 동안 내 사이트를 방문하지 않은 사용자를 정기적으로 확인하고 DB에서 쿠키를 삭제합니다.
나는 이것을 매우 복잡하게 생각하지만, 투표 시스템은 AJAX를 사용하고 있으며 투표가 일어날 때마다 단순한 방문자가 아닌 경우에만 쿠키를 보내고 (더미 사용자를 만드는) 방법을 찾을 수 없습니다. 투표없이 내 사이트를 탐색합니다.
참고 사항 : 쿠키 사용을 강력히 권고합니다. 투표가 진행될 때 IP를 저장하는 것이 더 쉽지만 동일한 IP를 사용하는 학교와 회사가 있으며 사용자가 사용하도록 허용하고 싶습니다. 내 사이트.
내가 여기서 무엇을 놓쳤는가? 어떻게 최적화 할 수 있습니까?
나는 이것을 언급해야한다 : 나의 사이트는 "투표 한 사람도 이것들에 투표했다."와 같은 투표에 근거한 제안을한다. 그래서 나는 어떻게 든 DB에 투표를 연결했다. 현재 나는이 (인형 또는 실제 사용자) 사용자를 사용합니다. – ZTefter
@ZTefter 알겠습니다. 좀 더 까다 롭습니다. 임의의 해시 또는 쿠키에 저장된 무언가로 누가 투표했는지 기록 할 수 있습니다. 투표 레코드에 해시를 첨부하면되지만 실제로는 사용자 레코드를 만들지 않습니다. – dqhendricks
좋아, 고마워, 내가 이걸 시험해 볼 것 같아. 하지만 나는 여전히 쿠키를 만드는 부분에 머물러 있습니다. 투표는 매개 변수가있는 PHP 파일을 호출하는 자바 스크립트 AJAX 함수입니다. 그래서 이론적으로이 PHP는 쿠키를 만들어야합니다. 이것이 최상일 것입니다. 그러나 저는 이것을 달성 할 수 없었습니다. 실제로 가능합니까? 이 작업을 수행하는 올바른 방법입니까? – ZTefter