2013-12-22 4 views
0

내 PHP 프로젝트를 호스팅하기 위해 공유 서버를 사용하고 있으며 아무도 볼 수 없도록 PHP 소스 코드를 보호하고자합니다. 파일의 현재 사용 권한은 rw----r--이고 디렉토리의 경우 Apache 사용자가 그룹에 없으므로 rwx-----x입니다. 하지만이 권한으로 누구나 내 코드를 볼 수 있습니다. 공유 서버의 PHP 소스 보안

는 I가 부적절하게 명명 된 폴더 내 애플리케이션을 이동하고 mod_rewrite 사용할 것을 방지하기위한

한다 RewriteEngine
한다 RewriteRule^<APPLICATION_NAME>. (*) $ <real_irrelevant_path> $ 1 [L]에서

<application_name>2과 같은 주소를 요청하지 않으면 모든 것이 올바르게 작동합니다. 그것은 메시지와 함께 403 Forbidden 오류를 제공합니다 You don't have permission to access /<real_irrelevant_path>2/ on this server. 그리고 실제 경로가 노출되었습니다!

다음과 같은 것을 사용할 수 있음을 알고 있습니다. 그러나 그것이 완전히 확보되었는지 확실하지 않습니다.

한다 RewriteEngine
한다 RewriteRule^< APPLICATION_NAME에서 > $ <real_irrelevant_path> [L]
한다 RewriteRule^<APPLICATION_NAME> /(.*)$ <real_irrelevant_path>/$ 1 [L] 지금

, 내 질문은,

  • 이러한 파일을 보호하는 가장 좋은 방법은 무엇입니까? 이 내 개발 서버와 같이

일부 노트,

  • 나는 난처을 사용할 수 없습니다.
  • 루트 액세스 권한이 없습니다.

답변

1

권한을 750으로 설정하고 디렉토리 구조를 www-data 그룹 아래에 추가하십시오.

chown -R USER:www-data /path/to/web/folder 
chmod -R o=,g+rx /path/to/web/folder 

물론 사용자 이름으로 USER을 바꾸십시오.

Apache 구성을 사용하면 웹 기반 침입을 막을 수 있습니다. 여전히 FTP 및 SSH 사용자에 대해 걱정해야합니다. 이 부분이 여기에 있습니다.

+0

빠른 답장을 보내 주셔서 감사합니다. 하지만 루트 액세스 권한이 없습니다. 권한 오류가 발생합니다. – nisargjhaveri

+0

폴더를 소유하고 있다면 권한 오류가 없어야합니다. 콘솔 출력을 게시물에 붙여 넣을 수 있습니까? – Deryck

+0

@nisargjhaveri 당신은 Drupal을 사용하고 있지 않을 수도 있지만,이 기사에서 틀림없이 도움이 될 것입니다 : https : // drupal.org/node/244924 – Deryck