2012-03-02 3 views
0

사용자가 정보를 입력하고 양식을 제출하는 단계를 거치지 않는 한 내 install.php 파일에 직접 액세스하지 못하게하고 싶습니다.PHP : 직접 액세스를 금지하는 상수 정의

/index.php에 설치 :

define("ACCESS", true); 

// HTML form to take to install.php 

이/install.php 파일을 설치합니다 분명히

if (!defined("ACCESS")) { 
    echo "You cannot access this page directly."; 
    exit(); 
} else { 
    // Run SQL Queries 
    echo "Database installation successful."; 
} 

이 작동하지 것이다. 이 개념을 어떻게 작동시킬 수 있습니까?

추가 질문 : 이 용도로 가장 적합한 방법은 무엇입니까? 상수 또는 함수를 사용해야합니까?

+0

자세한 과정을 설명하십시오. 더 자세한 정보없이 * 모범 사례 *에 대한 권장 사항을 만드는 것은 어렵습니다. –

+0

개념은 "include()"를 사용하는 경우에만 작동합니다. 응용 프로그램의 워크 플로를 모른 채 모범 사례는 어렵습니다. – Marcus

+0

그래서이 코드는 include();와 잘 작동하지만 include();를 사용하지 않기로 결정한 경우 다른 메소드를 사용해야합니까? – Aaron

답변

1

이 작업을 수행 할 수 있지만 사용자가 install.php에 직접 액세스하는 대신 includeindex.php에서 상수를 정의합니다.

이 방법을 사용하면 index.php이 해당 스크립트를로드 할 때 제어 할 수 있으며 정의 된 상수를 확인했기 때문에 스크립트에 직접 액세스 할 수 없습니다.

+0

'include();를 사용하면 완벽하게 작동합니다. – Aaron

관련 문제