Как я смогу ограничить отражение PHP для определенных классов/функций? [закрыто]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как я смогу ограничить отражение PHP для определенных классов/функций? [закрыто]

Сообщение Anonymous »

Я пытаюсь создать плагины в песочнице для своего PHP-проекта, у меня есть общая идея. Проверьте код на наличие ограниченных функций/ограничьте доступ к определенной информации в зависимости от того, SQL это или NoSQL (Redis).
Единственная проблема — отражение. Я понимаю, насколько мощным является Reflection как способ получить доступ к методам и переменным внутри объектов класса.
Как, например, Reflection можно использовать для получения переменной, содержащей экземпляр PDO. С помощью этого экземпляра вы можете обойти проверки, написанные пользователем, и получить доступ к любым данным, которые захотите.
Я также понимаю, что это принцип «сохранить или отключить». Я хотел бы, чтобы в рамках проекта было разрешено некоторое отражение, но не было доступа к конфиденциальным данным.
Есть ли какой-либо способ ограничить то, что может быть отражено? Например, пользовательский метод/функция, которая вызывается до того, как для переменной или метода произойдет отражение? Или, исключая это, есть ли опция PHP-скрипта для отключения отражения?
РЕДАКТИРОВАТЬ: я пытаюсь предотвратить использование отражения в пользовательских классах в моем проекте, например, в «Базе данных». Внутри класса базы данных находится переменная, содержащая созданный объект PDO.
В моем классе базы данных я пытаюсь запретить плагинам доступ к конфиденциальным данным, таким как таблица «пользователи», содержащая хэши паролей. Я также пытаюсь спроектировать его так, чтобы его можно было перерабатывать.
Я знаю, как работает Reflection: он принимает объект и позволяет вам получить доступ к частным переменным и функциям для любых целей, которые вы пожелаете. Я хотел бы ограничить доступ плагинов к таблице пользователей и вместо этого использовать специальные функции для получения указанной информации о пользователе.
Я проводил исследование, но безуспешно. Если у кого-то есть что-то, чего мне не хватает, было бы здорово

Подробнее здесь: https://stackoverflow.com/questions/798 ... -functions
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»