그래서 CMS를 만들려하고 있습니다. 플러그인이 쉽게 기능을 확장 할 수 있도록 설계하고 싶습니다. 시스템 및 언어 설정도 포함).제한된 시스템 액세스로 PHP 플러그인 시스템 작성하기
다음은 까다로운 부분입니다. 개별적으로 패키지화 된 CMS가 아닌 많은 사이트 (예 : mycms.com/your-site)에서 일종의 호스트를 만들려고합니다.
pages
- id
- slug
- title
- content
- site // The site id
sites
- id
- path // e.g. your-site
- password // hash
가 그럼 난 파일 구조에서이 같은 플러그인을 저장할 수 있습니다 :
내가 이런 구조로 MySQL 데이터베이스를 설계하고있어 물론
plugins/
42/ // Site id
hello-world/ // plugin name
hello-world.php
functions.php
css/ // ...
, 중요한있다 여기에 보안 문제가 있습니다. 플러그인 작성자가 hello-world.php를 작성한다고 말하면 다음과 같습니다 :
<?php
include '../../../core/config.inc.php';
echo $config['mysql']['password']; // Now they have my server's database password!
?>
어떻게 이런 일을 피할 수 있습니까? hello-world.php가 hello-world/내의 디렉토리에있는 파일에만 액세스 할 수 있도록 제어하려면 어떻게해야합니까? 필자는 기본적으로 플러그인이 자신의 디렉토리 외부의 파일에 액세스하지 못하게하려고합니다.
이것은 간단해야합니다. 맞습니까?
감사합니다.
직접 통제하에있는 서버에서만 코드를 독점적으로 호스팅합니까? – Charles
아직 확실하지 않습니다. 당신이 그것에 의존하는 해결책을 가지고 있다면, 꼭 그것을 제안하십시오. 그러면 나는 그것을 조사 할 것입니다. –