>  기사  >  백엔드 개발  >  휴대전화 인증번호 인증 문제에 대해

휴대전화 인증번호 인증 문제에 대해

WBOY
WBOY원래의
2016-09-09 08:28:031342검색

사용자가 등록할 때 일부 내용을 입력하고 각 양식에 플래그 값을 지정해야 합니다
포커스가 사라지면 양식의 플래그 값이 감지됩니다.
최종 제출이 이루어지면 이 플래그 값이 ​​​​올바르게 제출할 수 있지만 문제는 다음과 같습니다.
이제 사용자의 초점이 인증 코드 입력 상자에 있고 사용자가 인증 코드를 입력한 후 등록하기 위해 제출 버튼을 클릭하면, 문제는 없습니다
사용자가 인증코드 입력창에서 마우스를 이동했기 때문에 제출 버튼으로 이동하면 인증코드 인증 작업이 완료되고 해당 플래그 값이 true였습니다
그러나 사용자가 사용하는 경우 Enter 키를 제출하고 포커스가 여전히 인증 코드 입력 상자에 있습니다. 이를 위해서는 수동 코드 focusout()이 필요합니다

<code>$("input:focus").focusout();
for(var i=0;i<$("input").length;i++){
    if($("input").eq(i).attr('flag')==0){
        return false;
    }
}</code>
인증 코드가 세션에 배치됩니다. 이때, 탐지가 완료되기 전에 해당 양식의 플래그 값이 여전히 false인지 확인해야 합니다. 다음 코드가 실행되어 false를 반환하여 양식을 제출할 수 없습니다

사용자가 제출할 때 확인해야 할 모든 항목을 확인할 수 있도록 for 루프에 지연을 주는 것도 생각해 보았습니다.
하지만 이 경우에는 아무것도 입력하지 않고 사용자가 직접 제출할 수 있습니다. 프런트 데스크의 모든 확인은 유효하지 않습니다.
제가 명확하게 설명하지 않은 내용이 있는지 모르겠습니다. 메시지를 남겨주셔도 됩니다. 모두 감사합니다

답글 내용:

사용자가 등록할 때 일부 내용을 입력하고 각 양식에 플래그 값을 지정해야 합니다

포커스가 사라지면 양식의 플래그 값이 감지됩니다.
최종 제출이 이루어지면 이 플래그 값이 ​​​​올바르게 제출할 수 있지만 문제는 다음과 같습니다.
이제 사용자의 초점이 인증 코드 입력 상자에 있고 사용자가 인증 코드를 입력한 후 등록하기 위해 제출 버튼을 클릭하면, 문제는 없습니다
사용자가 인증코드 입력창에서 마우스를 이동했기 때문에 제출 버튼으로 이동하면 인증코드 인증 작업이 완료되고 해당 플래그 값이 true였습니다
그러나 사용자가 사용하는 경우 Enter 키를 제출하고 포커스가 여전히 인증 코드 입력 상자에 있습니다. 이를 위해서는 수동 코드 focusout()이 필요합니다

인증 코드가 세션에 배치됩니다. 이때, 탐지가 완료되기 전에 해당 양식의 플래그 값이 여전히 false인지 확인해야 합니다. 다음 코드가 실행되어 false를 반환하여 양식을 제출할 수 없습니다
<code>$("input:focus").focusout();
for(var i=0;i<$("input").length;i++){
    if($("input").eq(i).attr('flag')==0){
        return false;
    }
}</code>
사용자가 제출할 때 확인해야 할 모든 항목을 확인할 수 있도록 for 루프에 지연을 주는 것도 생각해 보았습니다.

하지만 이 경우에는 아무것도 입력하지 않고 사용자가 직접 제출할 수 있습니다. 프런트 데스크의 모든 확인은 유효하지 않습니다.
제가 명확하게 설명하지 않은 내용이 있는지 모르겠습니다. 메시지를 남겨주셔도 됩니다. 모두 감사합니다

제출 직전에 모든 테스트 조건을 다시 실행한 후 모든 플래그가 true인지 확인할 수 있습니다.

인증코드 입력값을 직접 제출하고 백그라운드 세션과 비교할 수 있습니다. 왜 프론트엔드 인증마크를 제출해야 하나요? 프런트 엔드에 제출된 모든 내용은 위조될 수 있습니다.

제출하기 전에 ajax 이벤트를 추가하세요. 즉, 인증코드가 맞는지 확인한 후, 맞다면 팝업창이 뜨고 제출이 되지 않습니다.

위의 상황을 방지할 수 있습니다.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.