Безопасно ли передавать «сырые» поисковые фильтры в функцию ldap_search ()? - PullRequest
6 голосов
/ 27 сентября 2010

Я пишу PHP-приложение, которое управляет некоторыми записями LDAP.У меня есть одна страница, которая показывает записи из данной ветви и фильтрацию по некоторым объектным классам (только для определенных авторизованных пользователей, и т. Д. И т.фильтры для функции ldap_search (), или это может привести к проблемам безопасности любого типа.

Фильтр, который будет установлен, будет выглядеть примерно так:

"(&(&(objectClass=myClass1)(objectClass=myClass2))". $_GET['filter'] .")"

Конечно, я никогда не напишет что-то подобное в SQL, но с использованием функций LDAP?Я не вижу никакого возможного риска сделать это, я не прав?

ПРИМЕЧАНИЕ: Меня не волнуют такие вещи, как неправильный синтаксис фильтров и т. Д., Поскольку я делаю экранированиегде-то еще, при генерации URL.В случае определенных вручную фильтров с ошибками, можно показывать ошибку пользователю.

1 Ответ

2 голосов
/ 27 сентября 2010

В отличие от запросов SQL, поисковые запросы LDAP не обновляются, поэтому маловероятно, что они смогут что-либо изменить.Также маловероятно, что они смогут обойти разрешения, так как разрешения основаны на подключенном DN, а НЕ на поисковом запросе.

Я работал с LDAP около 3 лет и никогда об этом не беспокоился, ноКонечно, я не сказал пользователям, с каким типом БД они взаимодействуют.

ИМО, это нормально делать так.

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