2014-05-09 3 views
0

나는 응용 프로그램과 같은 퀴즈를 개발 중입니다.
이 응용 프로그램은 매 질문마다 사용자가 답변하는 데 걸리는 시간을 추적합니다.Timechecking : 서버 쪽 또는 클라이언트 쪽?

서버 측 또는 클라이언트 측 시간을 계산해야합니까?

나는이 장점/단점 내놓았다 :

서버 측 :
장점 : 사용자가 "속임수"
양론 수 없습니다 사용자 대기 시간이 크게

클라이언트 측에 영향을 미칠 수 있습니다
전문가 : 시간 추적이 더 정확합니다.
죄수 : 준 전문가 사용자가 "속임수"로 약간의 자바 스크립트를 사용할 수 있습니다.

로직을 변경하면 (예 : 답변 당 평균 시간 계산) 응용 프로그램의 새집이 손상 될 수 있습니다.

5 초에서 10 초 사이의 변동으로 사용자의 최종 점수가 변경 될 수 있으므로 대기 시간이 문제가 될 수 있습니다 (평균 50 회 응답). 이 응용 프로그램은 스마트 폰과 태블릿에서 실행할 수 있으므로 높은 네트워크 대기 시간이 필요합니다.

나는 이것이 일반적인 html5/javascript 개발 문제가 될 수 있다고 생각하지만, 누가 물어 보는 지, 나는 node.js를 서버로 사용하고있다.

답변

0

퀴즈 응용 프로그램이 중요하지 않은 경우 클라이언트 측 시간 만 사용하십시오.

매우 시간이 중요하면 서버와 클라이언트 측 시간을 모두 사용합니다.

클라이언트 측 시간이 서버의 시간보다 길면 (예 : 5 초) 클라이언트가 속임수로 사용한다고 가정하는 것이 안전합니다.


또한 질문에 대한 대답이 일정하면 값을 자동 채울 스크립트를 만드는 것이 쉽습니다.

예 : document.getElementById("QuestionOne").value="TheCorrectAnswer";void(0);

0

클라이언트 측 시간을 사용하여 서버 측 시간과 비교할 수 있습니다. 즉, 둘 다 사용하면 많은 코드가 필요하지는 않지만 안전합니다.

관련 문제