2015-01-13 3 views
0

내 웹 사이트에서 admin 대시 보드를 보호 할 수 있도록 login.php 파일이 있습니다. 방금 두 개의 해시를 비교하기 때문에 가장 안전하지 않을 수도 있지만 다른 PHP 파일을 보호하는 방법을 알고 싶습니다. 지금 현재 PHP 파일은 관리 대시 보드를 통해서만 실행되며 그 페이지에는 맨 위에 "login.php 필요"기능이 있습니다. 그러나, 그 페이지에 의해 실행되는 PHP 파일은 어떤 종류의 잠금도하지 않습니다. login.php 파일도 필요합니까? 아니면 걱정하지 않아도됩니까?내 웹 사이트에서 PHP 파일 보안하기

+1

공공 웹 루트 외부를 넣어, 그래서 아무도 그들을 직접 액세스 할 수 없습니다! – deceze

+0

[앞 컨트롤러 패턴] (http://stackoverflow.com/a/6890319/3492835)을 살펴볼 수 있습니다. @deceze 상태에서는 모든 PHP 파일을 문서 루트에 넣을 수 있습니다. 프론트 컨트롤러를 문서 루트에서 접근 가능한 유일한 스크립트로 만들고 거기에 유효한 로그인이 있는지 확인하고 인증되면 프론트 컨트롤러의 올바른 PHP 스크립트를 포함하십시오. – Xatoo

+0

나는 비슷한 질문에 답해 주었다. [PHP 파일 보안 방법] (http://stackoverflow.com/questions/27804184/how-to-secure-a-php-file/27804843#27804843) – Rimble

답변

1

다른 페이지는 대시 보드에서만 사용할 수 있기 때문에 $_SESSION 글로벌 변수를 간단하게 사용할 수 있습니다. 즉, 관리 페이지를 통해 로그인하지 않은 사람은 필요한 세션 토큰 집합을 갖지 않습니다. 그런 다음 보안이 필요한 페이지에서 이러한 토큰이 있는지 간단히 확인할 수 있습니다. PHP의 세션에 대한

here

+0

무엇이 ' 누군가가 웹 사이트의 다른 곳에서 해당 파일에 액세스하여 내 데이터베이스를 수정할 수 있는지 여부가 걱정됩니다. – xSpartanCx

+1

로그온 페이지 (관리자 페이지)를 통해서만 설정할 수있는 '특수한'$ _SESSION 변수가 있는지 확인하십시오. 보안이 필요한 다른 PHP 파일에서'isset ($ _ SESSION [ 'specialToken'])'을 확인한 다음 세션 토큰이 설정되어 있지 않으면 트래픽을 버립니다. 그런 다음 해당 트래픽의 유효성이 검사 될 때만 토큰이 관리자 페이지에만 설정되도록하십시오. –

+0

좋아요, 이것이 제가 생각한 것입니다. html 페이지에는'SESSION' 검사기가 있지만 호출하는 PHP 파일에는 없습니다. 그래서 PHP 파일에 추가 할 것입니다. – xSpartanCx