Может ли кто-нибудь легко получить доступ к методу, объявленному как pubblic в классе, расположенном на сервере? Какой уровень безопасности гарантируется Apache?
За обеспечение безопасности кода, который вы упомянули, лежит ваша ответственность, а не Apache. Ключевое слово public / private / protected не имеет ничего общего с вызовом функции из внешнего мира. Речь идет о том, чтобы вызывать его внутри проекта другими объектами.
Однако вы должны иметь в виду, что люди хитрые и попытаются взломать вашу систему и внедрить некоторые части кода в ваши формы (например, сделать SQL-инъекцию или другое). Таким образом, теоретически они могли бы выполнить некоторый код на сервере, но, насколько мне известно, только в случае, если вы используете eval()
или аналогичная функция. Этого не происходит в обычных условиях, только если вы пытаетесь создать какую-то песочницу php.
Если доступ к методу не предоставлен для того, чтобы окончательно использовать его через какое-либо действие, то ни один пользователь не сможет получить доступ к какому-либо методу класса.
if(isset($_REQUEST['iAllowThisToHappen'])){
(new \MyClass)->runMyMethod();
}
Также видимость метода не имеет ничего общего с безопасностью Видимость методов PHP.