저는 다른 프로그래머를위한 템플릿 엔진을 개발하기 위해 PHP 프로젝트를 진행하고 있습니다. 아이디어는 간단합니다 : 템플리트가있는 템플리트 폴더와 페이지가있는 페이지 폴더가 있고, PHP는 템플리트를 가져 와서 현재 url을 사용하여 페이지를 삽입합니다. 나는 몇 년 전에 객체 지향없이이 프로젝트를 끝냈습니다. 그러나 이제는 객체 지향적 인 포커스를 가지고 작업하려고합니다.PHP에서 구성 파일을 보호하는 방법은 무엇입니까?
제가 직면 한 문제는 구성에 관한 것입니다. 원래 시스템에서는 구성이 하드 코딩 된 PHP 파일 (javascript, pages 등을 포함하는 폴더의 이름)이있었습니다. 새로운 하나는이 데이터를 XML로 저장하려고 생각했지만 문제는 Stackexchange에서 여기를 검색하면 this 질문을 발견했습니다. 올바르게 다시 읽었을 때 다시 쓰기 솔루션을 사용하면 액세스 할 수 없습니다. PHP 스크립트를 사용하고 있기 때문에 브라우저에서 구성 파일을 직접 읽을 수 없도록 보호 할 방법이 없습니다.
어떻게해야합니까? XML을 사용하는 것보다 나은 솔루션이 있습니까? 나는 또한 데이터베이스의 사용을 피하고 있는데, 이것은 MySQL 연결을 포함하기에는 너무 간단하기 때문이다. 나는 XML이 서버 내부에서만 읽을 수 있도록하는 방법이 있다고 확신하지만 이것이 최선의 해결책인지 확신 할 수 없다.
누군가 그 경우에 진행 방법에 대해 말해 줄 수 있습니까?
대단히 감사드립니다.
포함 된 파일 시스템은 웹 서버에서 다시 처리하지 않으므로 안전하게 사용할 수 있습니다. 또한 구성 파일을 문서 루트 외부에 보관할 수도 있습니다. – Orangepill
데이터베이스가 옵션 인 경우 해당 옵션을 탐색하십시오. 나는 약간의 런타임 설정을 위해서 데이터베이스에 연결하는 몇 가지 응용 프로그램을 알고있다. –
'.php' 형식이 아닌 "설정 파일"을 사용할 때는주의해야한다. 이 파일에 직접 액세스하면 클라이언트는 데이터베이스 암호 및 기타 중요한 매개 변수를 포함하여 전체 내용을 볼 수 있습니다. 액세스 권한을 보호하도록 구성된 무언가가 있어도 그렇게하지 않는 것이 좋습니다. 보안에 관해서는 항상 많은 트릭을 결합하는 것이 좋습니다. 어떤 이유로 든 보호가 실패하더라도 액세스 제한을 우회 할 수는 없습니다. – Havenard