Вы должны беспокоиться о безопасности функции PHP? - PullRequest
0 голосов
/ 21 февраля 2011

Я создаю сайт, который использует классы с функциями для изменения информации в базе данных, а также для предоставления информации пользователям, но при входе в систему пользователи получают доступ к одному и тому же классу и ко всем функциям, включая те, которые мне не нужны их можно использовать. Здесь есть какая-то проблема безопасности?

Я думаю, что этого не произойдет, поскольку PHP интерпретируется еще до того, как он попадет в браузер и пользователя, поэтому единственный способ получить доступ к неавторизованной функции - это получить доступ к странице, которая его использует. - но я мог бы защитить эти страницы другим способом, чтобы предотвратить это.

Правильно ли мое мышление или я совершенно не в себе?

Заранее спасибо за помощь!

Ответы [ 2 ]

3 голосов
/ 21 февраля 2011

Подумайте об этом: есть ли способ, которым пользователь может вызвать одну из ваших функций так, как вы этого не делаете?(Примерами могут быть посещение определенной ссылки, нажатие кнопки или другой пользовательский интерфейс.)

Как вы сказали, PHP интерпретируется на сервере.Пользователь не может вызывать / трогать ваш исходный код, пока вы не сделаете это возможным.

Важно: Даже если пользователи не видят пользовательский интерфейс, это не значит, что он безопасен.

Если посещение определенной ссылки или отправка определенной формы выполнит определенную функцию, скрытие ссылки или формы не решит вашу проблему .Пользователь все еще может ввести ссылку в своем браузере или создать запрос POST, который выполняет действие.

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

Примеры:

if (isUserLoggedIn()) {
    doSomething();
}

if ($user->isAdmin()) {
    doSomething();
}

if ($_SESSION['user']['role'] == 'admin') {
    doSomething();
}
0 голосов
/ 21 февраля 2011

Как называются ваши функции?

Если пользователи не могут получить доступ к функциям, которые вам не нужны, вы почти у цели.

Просто убедитесь, что они не могут редактировать любую переменную непреднамеренно ...

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