2014-04-11 2 views
-1

언급 한 기능을 수행하는 것에 대해 몇 가지 질문이 있습니다.사용자가 보안 문자를 입력 한 후에 만 ​​웹 페이지를 열어두기

(1) 그래서 나는 GitHub에서 얻은 captcha PHP 스크립트를 테스트 한 sentinel.php이라는 페이지를 만들었습니다. 이제 누군가가 MySite.com으로 갈 때 열리는 페이지가되도록 sentinel.php을 준비했습니다. 그래서 index.htmlhome.html으로 변경하고 sentinel.phpindex.php으로 변경하고 사용자가 질문에 답한 후에 만 ​​해당 페이지에 home.html에 대한 링크를 제공하십시오. 그러나 라이브 링크를 MySite.com으로 테스트하면 여전히 index.html (내 제어판에는 존재하지 않음)으로 이동합니다. 웹 호스팅 서비스가 index.html 사본을 자동으로 저장하는 것으로 보입니다. 교체하지 않고 삭제하면 어떻게됩니까? 그게 무슨 일 이니? 이견있는 사람?

(2) 분명히 내가하려는 것은 한 가지 중요한 사실을 놓치고 있다는 것입니다 : 사용자가 단순히 MySite.com/home을 입력하고 보안 문자를 무시할 수 있다는 것입니다. 나는이 문제에 대한 적절한 해결책이 무엇인지 궁금하다.

이 질문에 대한 답변을 드리겠습니다. 나는 서버 측 도구를 처음 사용합니다. 나는 좋은 대답을 upvote하고 최선의 대답을 선택해야합니다. :)

답변

0

두 번째 문제. 사용자가 보안 문자에 올바르게 응답하면 세션 변수를 설정하십시오.

index.php를

session_start(); 
    $_SESSION['captcha'] = 0; 
    //Once you check that captcha is answered correctly 
    $_SESSION['captcha'] = 1; 

지금 home.php하기 위해 home.html을 변경

home.php

session_start(); 
if(isset($_SESSION['captcha']) && $_SESSION['captcha'] == 1){ 
     //The user answered the captcha correctly 
     //Do your thing 
} 
else{ 
    //Did not answer the captcha correctly 
} 
관련 문제