2017-12-28 17 views
-1

자바 스크립트 파일을 제외하고 직접 액세스에서 포함 된 파일의 PHP를 중지내가 즉 직접 액세스 (browsering) PHP 파일 차단하는 방법의 톤이 알고

  • 구성이 서버는 그들에게
  • 을 거부합니다 파일이

는 그러나, 나는 라이브 검색을하고 있어요 (basename$_SERVER['PHP_SELF']를 사용하여) 그 자체를 호출하는 경우 변수 나 상수 확인은

  • 확인 설정되었습니다. 사용자가 키를 누를 때마다 AJAX를 통해 키워드가 PHP 파일로 전송됩니다. 다음 방법을 사용하면 포함 된 파일에 대한 액세스를 차단할 수 있지만 JavaScript 파일의 액세스도 차단할 수 있습니다.

    또한 위에서 언급 한 PHP 파일에는 다른 PHP 파일도 포함되어 있으므로 변수를 전달하고 동일한 파일에서 변수를 정의하고 있으므로이를 검사하는 것은 불가능하다고 생각합니다.

    아무도 아이디어가 있습니까? 어떤 도움을 주셔서 감사합니다!

  • +3

    하지만 파일을 사용에서 동시에 블록 명에서 :

    if (basename(__FILE__) == basename($_SERVER['PHP_SELF'])) { header("Location: http://example.com/404"); exit(); } //Check if the file is calling itself 

    그리고 검색 파일

    ?를 여기서 질문을 이해할 수 있는지 확실하지 않습니다. – apokryfos

    +0

    브라우저에서 액세스 할 수있는 모든 것, 최종 사용자가 액세스 할 수 있습니다. 나는 또한이 질문을 완전히 이해하지 못한다. 당신이 요구하는 가정은 본질적으로 불가능하다는 것입니다. –

    +0

    @apokryfos, 저는 브라우저에서 PHP를 차단하고 싶습니다. 자바 스크립트 파일에 액세스하려면 –

    답변

    -1

    나는 결국 대답을 찾는다. 위와 같이 여전히 다음과 같은 방법 중 하나를 사용하지만 검색 파일에 조건을 추가해야합니다. 일반에서
    파일을 포함 :

    if (basename(__FILE__) == basename($_SERVER['PHP_SELF']) && !isset($_POST['query'])) { 
        header("Location: http://example.com/404"); 
        exit(); 
    } //Check if the file is calling itself and there is no request found 
    
    당신은 사람들이 파일을 사용하려는