2010-01-27 7 views
0

나는 PHP 페이지에서 카운트 다운 스크립트를 사용하기 위해 jQuery script을 사용했지만, 사용자가 걸리는 시간을 기준으로 스코어 시스템을 갖고 싶습니다. 몇 가지 질문에 답할 수 있습니다.자바 스크립트의 시간 기반 점수 시스템

일부 드래그 앤 드롭을 사용하여 특정 링크에서 이미지 맵 (웹 페이지의 유일한 올바른 링크)을 클릭하고이 카운트 다운을 사용하는 세 페이지에서 한 번 사용자가 끌어서 & 드랍스를 완료하거나 링크를 클릭하면, 사용자가 "제출"버튼을 클릭했을 때 카운트 다운에서 숫자를 얻습니다.하지만이 작업을 수행 할 수 있는지 확실하지 않습니다.

또는 사용자가 제출 버튼을 클릭했을 때 표시되는 실제 수치를 얻을 수있는 카운트 다운 스크립트를 사용할 수 있습니까?

미리 감사드립니다.

답변

2

표시 목적으로 만 자바 스크립트 카운트 다운 만 사용하면 클라이언트를 신뢰할 수 없습니다.

서버 쪽 수를 줄이십시오. SESSION 변수 나 데이터베이스에 저장하십시오.

자바 스크립트는 클라이언트가 변경할 수 있기 때문에 안전하지 않습니다. 내 컴퓨터에 페이지를 저장하고 열어서 타이머가보고되는 방식을 수정하면 얻을 수있는 것보다 완전히 다른 시간을 얻을 수 있습니다. 또한 브라우저 주소 표시 줄을 사용하여 변수를 변경할 수도 있습니다. 클라이언트는 언제나 항상 을 자바 스크립트에서으로 변경할 수 있으며 반드시 사용자를 정직하게 유지하기 위해 서버에 의존해야합니다.

+0

사실이지만 카운터의 용도에 따라 중요하지 않을 수도 있습니다. 예를 들어 사용성 측정 항목을 수집하는 데 이러한 설정을 사용하는 경우 "속임수"(어쨌든 매우 희귀 함)는 심각한 우려가되지 않습니다. "제출"을 클릭하는 것이 정말 빠른 사람들에게 쿠폰을 제공하면 클라이언트 코드를 신뢰하지 않기로 동의합니다! – Pointy

+0

그는 타이머를 기반으로 점수를 생성한다고 말하면서, 다른 사용자가 자바 스크립트 타이머를 악용하는 것을 허용하는 것은 불공평합니다. – Malfist

+0

우선, 답변에 많은 감사를드립니다. 신청서는 단순한 프로토 타입이 될 것입니다. 대학을위한 작은 프로젝트 일 뿐이며 자바 스크립트를 심각하게 이해하지 못하는 아이들을 대상으로하므로 보안 문제가별로 중요하지 않습니다. 그럼에도 불구하고 보안 문제와이 방법으로 $ _SESSION에 저장된 값을 사용하는 것이 훨씬 쉬워서 서버 측에서 카운트 다운을 사용해야한다는 사실에 완전히 맞습니다. 점수! – noloman

0

타이머를 시작할 때 시간을 (숫자 값으로) 숨기고 그 시간을 알고 싶을 때 차이점을 확인하는 것이 어떨까요? 즉, 클럭이하는 일이기 때문에 이미 클라이언트 컴퓨터의 클럭 카운팅을 얻었습니다. & 드래그가 완료 될 때 (또는 참조로 사용 된 모든 시점) 시간을 기억하고 제출 버튼에 대한 이벤트 핸들러에서 다시 시간을 확인하십시오.