2013-05-15 3 views
-3

아래 JavaScript를 사용하여 내 사이트에 captcha를로드하고 있습니다. 이것은 정상적으로 작동합니다. 그러나 처음 로그인 할 때 기본적으로 숫자 "5AbD"가 표시됩니다. 어떻게 변경할 수 있습니까?Captcha는 내 첫 로그인시 항상 동일한 번호를 표시합니다.

http://wiki.asp.net/page.aspx/1369/simple-captcha-code-in-javascript/

I 사용자가 위의 링크 javascrtipt. 이 스크립트를 게시 할 수 없습니다.

+7

코드를 포함하지 않았습니다 ... – FakeRainBrigand

+0

여기에 자바 스크립트 코드를 추가 할 수 없습니다. – user2176150

+0

@ user2176150 추가 할 수 없거나 확실하지 않습니다. [JSFiddle] (http://www.jsfiddle.net/)에 링크하거나 코드를 붙여 넣을 수 있습니다 (4 칸 씩 들여 씁니다). 현재 귀하의 질문에 "나는 아래 JavaScript를 사용하고 있습니다"라고 쓰여 있지는 않지만 ... 도움이 없다면 우리를 도와 줄 수있는 능력이 매우 제한적입니다. – doppelgreener

답변

1

많은 세부 정보를 제공하지는 않지만 이와 같은 경우는 동일한 시드로 매번 생성되는 임의의 숫자와 관련되는 경우가 있습니다. 자신의 captcha를 굴렸다면 어떻게 문자열을 생성하는지 살펴볼 것입니다. 일반적으로 시스템 틱 카운트를 난수 시드로 전달합니다.

그렇지 않으면 도움이되는 답변을 제공하기에 충분한 정보를 실제로 제공하지 않습니다.

편집 :

1) 코드를 본 후, 처음에는 보안 문자로이 매우 결함이 있음을 말하고 싶습니다. 요점은 봇이 코드를 결정하고 자동으로 입력한다는 것입니다. 이것이 일반적으로 서버에서 생성 된 이미지이기 때문입니다. 이미지에서 값을 추출하는 것은 어렵습니다.

2) 다른 값으로 코딩하지 않았으므로 매번 동일한 값을 표시합니다. 당신은 문자 그대로 동일한 경색 코드 값으로 시작하여이를 수정합니다. Math.random() 함수를 살펴보면 하드 코딩 대신 초기 값에 대한 난수를 생성합니다. 그러나 포인트 # 1을 참조하면,이 자바 스크립트 전체를 스크랩 하겠지만, 봇이 컨트롤의 값을 잡고 폼을 채울 수 있기 때문에 captcha로 쓸모가 없기 때문입니다.

3) captcha를 구현하는 단계는 대개 다음과 같습니다. 서버에서 임의의 문자열 생성, 해당 문자열을 세션에 저장, 해당 문자열로 이미지 생성 (이미지 프로세서를 쉽게 방지 할 수있는 잡음/글꼴 어색함 포함) 텍스트를 읽을 수 있음), 페이지에 이미지를 표시하십시오. 실제 문자열 값은 서버를 떠나지 않습니다. 양식이 제출되면 사용자 값을 이전에 세션에 저장된 값과 비교하면됩니다. 하지만 모든 것을 배우기보다는 (모든 요점이 학습 연습으로 사용되지 않는 한) recaptcha와 같은 미리 만들어진 captcha 컨트롤을 사용하는 것에 대해 생각할 수도 있습니다. 어느 쪽이든, 난수 함수를 살펴보십시오. 같은 하드 코딩 된 값으로 항상 시작하는 한 항상 동일한 결과를 얻을 수 있습니다.

+0

여기에 자바 스크립트 코드를 추가 할 수 없습니다. – user2176150

관련 문제