2009-10-27 2 views
0

Когда на странице, вызванной исключением, какие уязвимости открыта для php-страницы?Исключения и безопасность PHP

Я использую Кохана и я привык к запускающим исключениям (404, время автономной работы и т.д.)

Но я недавно прочитал книгу (19 грешит Software Security), который говорит, что сайт в неустойчивом состоянии (т.е. в страница, вызванная исключением) открыта для критических атак.

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

ответ

0

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

Тем не менее, они могут могут иметь значение, если для параметра error_reporting установлено значение on (оно не должно быть в производстве, но если оно было ...), в том, что вывод исключения по умолчанию представляет собой обратную трассировку.

Хорошим примером этого является подключение к вашей БД. Если вы используете PDO с исключениями и соединение терпит неудачу, генерируется исключение PDO, а вывод по умолчанию содержит аргументы, предоставленные объекту PDO (например, имя и пароль БД).

1

Если доступ к странице невозможен, вы должны отправить запрещенный заголовок 403 istead из 404 не найден.

Исключения открывают сайт без особых уязвимостей - но частые выбросы исключений - это намек на то, что ваш код является субоптимальным и неустойчивым. Помните: Исключения - это последняя солома, которая у вас есть, а не первое решение, которое вы должны рассмотреть.

+0

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

+0

Хм ... у меня есть страница, которая может «получить доступ только один раз», что означает, что если я выполняю перенаправление с нее, и пользователь нажимает кнопку «Назад», я бросаю 404 – yretuta

Смежные вопросы