2011-01-13 7 views
0

하나의 해결책은 .ini 파일을 webroot 외부에 두는 것이지만 웹 파일의 소스 트리의 일부로 구성 파일을 갖고 싶습니다. 내가 거기에 데이터베이스 암호를 넣어 원하기 때문에apache2 서버가 missile_launch_codes.ini를 제공하는 것을 어떻게 중지합니까?

, 내가 입력로부터 액세스 할 수없는 확인해야 www.drstrangelove.com/missile_codes.ini

나는 이것에 대한 아파치 설정 설정이 믿습니다 할

하지만, 나는 그것이 무엇인지 또는 무엇을 알아야 Google에 입력해야하는지에 관해 모른다.

답변

3

당신은 그것에 대해 htaccess로 사용할 수 있습니다

<Files "*.ini"> 
order deny,allow 
deny from all 
</Files> 

또는을 (당신은 단지 하나의 .ini 파일을 원하는 경우) : 파일 이름으로 *를 교체합니다.

2

Tobiask의 답변을 통해 필요한 정보를 얻을 수 있지만 더 나은 해결책은 htmlocs (또는 www) 디렉토리 외부에 .ini 파일을 보관하여 처음부터 Apache에서 제공 할 수 없도록하는 것입니다.

+0

, 무슨 위험을 주석 처리되어 있기 때문에? – Matt

+0

내가 생각하기에 더 좋은 디자인 – Tobias

+0

이 질문을 확인하십시오 : http://stackoverflow.com/questions/97984/how-to-secure-database-passwords-in-php – Jason

1

.htaccess 파일을 사용할 수 없으면 항상 속일 수 있습니다. config.ini.php와 같은 형식으로 ini 파일의 이름을 바꿉니다.

매우 첫 번째 줄에서이 넣어 : 당신이 웹 서버를 통해 INI 파일을 호출하려고하면,

#<?php exit; ?> 
user=username 
pass=secret 

이러한 방식으로, PHP 코드가 실행됩니다, 그렇지 않으면 기능 parse_ini_file는 첫 줄을 건너 뜁니다 그것은 ("#")

희망이 도와주세요 .htacces 일이 항상 작동하는 경우

관련 문제