Нужно ли использовать проверку подлинности для открытых методов? - PullRequest
1 голос
/ 30 июня 2011

В объектно-ориентированном приложении PHP мне нужно использовать authentication проверку почти каждого public метода в моем приложении для обеспечения безопасности?

Я беспокоюсь об этой уязвимости: CWE-306: отсутствует аутентификация для критической функции

Как кто-либо может вызывать мои публичные методы, даже если я использую ключевое слово static?


Чтотребования для успеха этой атаки?

Как какая-то другая уязвимость - Как, например, разрешение загрузки файлов PHP в мою систему?

1 Ответ

2 голосов
/ 30 июня 2011

Как говорится в статье, это не будет проблемой, если вы правильно структурируете свое приложение.Независимо от того, есть ли у вашего класса открытые или закрытые методы, проблема не в этом, проблема в том, что пути к вашему приложению не защищены.

Ваше приложение должно быть структурировано так, чтобы оно обеспечивало только одну точку входа.Любой запрос к любому файлу должен быть направлен через ваш основной файл.Ни один из ваших других файлов PHP не должен быть доступен напрямую.Когда вы структурируете его таким образом, вам будет проще применить свою аутентификацию, так как вы сможете проанализировать каждый запрос, поступающий в ваше приложение, и определить, какие из них должны быть аутентифицированы, а какие - открытыми.

Посмотрите на этот шаблон: http://en.wikipedia.org/wiki/Front_Controller_pattern

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...