2011-02-11 2 views
0

저는 보안 측면에서 완전히 새로운 것 같습니다.여러 PHP 파일에 액세스하는 내 관리자 페이지 보안

<?php 

define('SALT_LENGTH', 9); 

function generateHash($plainText, $salt = null) 
{ 
    if ($salt === null) 
    { 
    $salt = substr(md5(uniqid(rand(), true)), 0, SALT_LENGTH); 
    } 
    else 
    { 
    $salt = substr($salt, 0, SALT_LENGTH); 
    } 

    return $salt . sha1($salt . $plainText); 
} 

?> 

이인가요 : 나는 같은 것을 사용하여 내 로그인을 확보 할 수있는 내 관리자 페이지에 그래서 나 데이터베이스 등을 업데이트하는 작업을 여러 .PHP 파일에 액세스하는 관리자 페이지와 웹 사이트, admin.php를 위의 좋은 방법, 내가 뭔가 추가해야합니까?

php 파일은 /phpfiles/dosomething.php와 같이 저장됩니다. 어떻게 dosomething.php를 보안합니까? 그것에 암호가 있어야합니까? 비밀번호가 있다면 admin.php는 어떻게 접근합니까?

감사합니다.

+0

무엇을위한 좋은 방법입니까? 방금 뭔가 임의의 문자열을 생성합니다. – zerkms

+0

** 자신을 굴리지 마십시오 **. [framework] (http://www.openwall.com/phpass/)를 사용하십시오. sha1을 사용하기 때문에 보안이 이미 완전히 깨졌습니다. – meagar

+0

당신의 해결책은 meagar가 제안한 것만 큼 나쁘지는 않지만, 가능한 한 강하지는 않습니다. Openwall의 phpass는 실제로 아주 좋은 제안이며, 아마도 최고의 PHP 솔루션 일 것입니다. 그것은 간단하고, 잘 검토되고 몇몇 잘 알려진 프로젝트에 포함되었습니다. – Jacco

답변

1

해시 생성은 보안 및 인증의 한 부분입니다.

스크립트에 액세스하는 한 일반적인 권장 사항은 웹 루트 외부에 PHP 파일을 저장하는 것입니다. 따라서 파일을 액세스 할 수 없습니다 http://domain.com/youphpfile.php 대신 .htaccess를 사용하여 모든 트래픽을 index.php 파일로 리디렉션하고 거기에서 요청을 라우팅합니다.

작업중인 웹 사이트의 크기에 따라 인증 모듈이있는 일부 PHP 프레임 워크를 사용해 보셨습니까?

작은 웹 사이트가 있고 약간의 스크립트 만 필요하면 Apache에서 htpasswd를 살펴보십시오. 따라서 전체 디렉토리를 암호로 보호 할 수 있습니다. 즉 귀하의 웹 루트에있는 admin 디렉토리.

+0

첫 번째 부분에서는 보안 및 인증에 대해 무엇이 더 많은지 - 올바른 방향으로 나를 안내 할 수 있습니까? admin.php에서 액세스 할 수있는 약 50 개의 PHP 파일이 있습니다. 그래서 Authority 모듈과 함께 PHP 프레임 워크를 사용해야한다고 생각하십니까? 그게 올바른 방향으로 나를 가리킬 수 있습니까? meagar에서 추천 한 http://www.openwall.com/phpass/를 사용해야합니까? 더해야 할 일이 더 있습니까? – steve

+0

전에 phpass를 보거나 사용하지 않았습니다. 모든 주요 프레임 워크는 좋은 인증 모듈을 가지고있는 경향이 있습니다. 젠드 프레임 워크, CakePHP, CodeIgniter, Kohana. 각자 조금 앞선 것을 배울 것이지만 어쨌든 대부분의 작업에 사용하는 것이 좋습니다. – Jacob

+0

나는 스크립트와 함께 디렉토리에 .htaccess 파일을 넣고 .htaccess에있는 모든 것을 거부하는 코드를 넣기로 결정했다. 제 목적을 위해 가장 쉬운 방법입니다. 복잡한 웹 사이트가 아니며 많은 수정이 필요하지 않습니다. 그렇다면 실제로 디렉토리의 파일들이 차단 될 때 admin.php를 사용하여 실제로 디렉토리의 파일에 액세스합니까? – steve

관련 문제