사이트 루트의 PHP 사이트에있는 XML 파일에 구성 변수를 저장합니까?

StackOverflow https://stackoverflow.com/questions/605308

  •  03-07-2019
  •  | 
  •  

문제

Magento는 MySQL 연결 세부 정보를 Docroot 위에 보안하지 않는 XML 파일에 저장하는 것을 알았습니다. 이것은 .... 잘 위험합니다.

XML은 하나를 제외하고는 구성 데이터를 저장하는 편리한 방법 인 것 같습니다. http://www.domain.com.au/library/config.xml 세계에 당신의 개인 세부 사항을 보여줄 것입니다!

계속해서 XML 파일을 사용하여 .htaccess 파일에 추가했습니다.

<Files ~ "\.xml$"> // regex files that end with xml extension
Order allow,deny 
Deny from all // don't show them
</Files>

지금 ~였다 이것에 만족, 이제 나는 너무 확실하지 않습니다. .htaccess 파일이 실수로 삭제/손상된 경우 (사람 오류 외에 발생하는 경우) 언젠가 앱을 비 Apache 서버에 배치하려면 어떻게해야합니까? 그렇다면 .htaccess 캔 (httpd.conf 파일이 아니라)과 같은 폴더 레벨에서 변경 될 수 있습니다.

내 질문은 ... XML의 편의성 (업데이트하기 쉬운, 땜질을 해야하는 디자이너가 그렇게 위협적으로 느끼지 않을 것임)의 편의성은 잠재적 인 문제 (개인 데이터 노출)보다 중요합니까?

도움이 되었습니까?

해결책

직접 액세스 할 수있는 형식이나 위치가 아닌 형식으로 구성 파일 정보를 개인적으로 저장합니다. 그래서 나는 docroot 위의 XML 형식을 사용하거나 php $ config [ 'varname'] = 'value'형식을 사용합니다. 이후의 방법은 직접 호출되면 빈 흰색 페이지를 렌더링합니다 (모든 PHP이고 HTML이 포함되어 있고 에코가되지 않는 한).

Gallery, Vbulletin 및 Joomla는 모두 내가 언급 한 두 번째 방법을 사용합니다. 다른 PHP 관련 질문에서 이전 에이 프로젝트를 언급했지만 프로젝트간에 널리 사용되고 받아 들여지는 방법 인 것 같습니다.

다른 팁

짧은 대답, 아니요. 그러나 더 나은 질문은 일 것입니다. 구성 파일에 저장되지 않은 경우 어디에 보관 하시겠습니까?

나는 이것에 대한 Inventix에 전적으로 동의하지만 세 번째 옵션도 제공해야합니다.

파일 저장 구성 정보의 이름을 지정하십시오

.htanything

서버 와이드로 시작하는 모든 파일이 .ht를 외부 사용자가 읽을 수 없으므로 {htaccess가 항상 .htaccess} 인 이유입니다.

Personaly I는 구성 파일 만 포함하고 문서 루트 외부에 기능 라이브러리 만 포함하지만 일부 Connot은 항상 .htnaming 컨벤션을 사용하여 $ contuartfolder가 소프트웨어를 사용하는 사람이 문서 트리 내에서 이동 해야하는 경우에도 항상. 그런 서버

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top