Здравствуйте!
Существует сайт, написанный на PHP, который должен осуществлять связь со сторонними проектами через их API. У нашего проекта для общения с чужими, существует система шлюзов:
class BaseGateway {
public function ProjectInit($data);
public function CheckLogin($data);
...
}
Соответственно каждый реальный шлюз наследует класс BaseGateway и реализует функционал связи с каждым конкретным партнерским сервисом.
Т.к. сторонних проектов достаточно большое кол-во, то хочется предоставить возможность программистам наших партнеров писать подобные шлюзы. Вся информация, необходимая им для обработки передается в данный класс при инициализации и в каждую функцию (ассоциативный массив $data).
Вопрос:
Нужны идеи, каким образом можно предложить партнерам создавать свои шлюзы и заливать их php файлы не сделав себе огромную дыру в безопасности?
Что явно не нужно писателем шлюзов: работа с файловой системой за пределами выделенного им каталога, функции system, exec, функции смены прав доступа и многое другое.
По сути все что нужно это стандартные функции, curl и т.п.
Доверие к программистам-партнерам:
С каждым партнером у нас заключается договор, но это сторонние люди, потому определенное доверие конечно же есть, но оставлять свою систему перед ними абсолютно голой - нельзя.