|
ТырБыр ↓
|
 |
|
08 Февраль, 2012, 08:22:25
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: 0
Сообщений: 8 Сила слова: 0
|
Здравствуйте. Помимо старых знаний, я прочитал много про фильтрацию данных в пятой версии. И честно говоря, так и не понял, есть ли оптимальный вариант.
Все понятно с автоматизаторами (маджикквуотерами, слешами и прочимо глобалазами) я их не поддерживаю и понимаю что контролировать надо все самому.
И все-таки. Как фильтровать пользовательский ввод. Какие методы (помимо учета включеных автокавычек и соответствующих анти действий) нужно использовать, насколько и какие самостоятельные конструкции надо городить над, например, filter_input?
Извините, если я непонятен, я более чем новичок. Хочется понять принцип определения достаточности.
|
|
|
|
|
Записан
|
|
|
|
|
ТырБыр ↓
|
 |
|
08 Февраль, 2012, 08:27:48 , спустя 5 минут 23 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: 0
Сообщений: 8 Сила слова: 0
|
Поясню, вопрос родился из-за просмотра большого количества самостоятельных решений
|
|
|
|
|
Записан
|
|
|
|
|
kostyl ↓
|
 |
|
08 Февраль, 2012, 09:18:36 , спустя 50 минут 48 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
занедельный антипаттерн
Группа: Джедаи Карма: 60
Сообщений: 3526 Сила слова: 1.7
|
какая разница, главное получить из одного другое или отказаться получать если всё плохо на столько
|
|
|
|
|
Записан
|
качество жизни обратно пропорционально количеству лени
|
|
|
|
lolcat ↓
|
 |
|
08 Февраль, 2012, 11:40:54 , спустя 2 часа 22 минуты 18 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: -3
Сообщений: 367 Сила слова: -0.82
|
Принцип простой. Для чего фильтруют данные? Из соображений безопасности. Чтобы не впихнули html/js - раз, чтобы не провели инъекцию - два.
Первое решается strip tags или чем-то подобным. А еще можно использовать текстовые парсеры, движки разметки и т.п. В моей имиджбордочке html фильтруется при помощи texy.
Вторая проблема актуальна только для тех, кто ДО СИХ ПОР пользуется функциями работы с БД навроде mysql_query(). Не надо выполнять запросы напрямую. Пользуйтесь подготовленными выражениями. И не будет этой проблемы. Пусть хоть обосрутся, подсовывая кавычки.
Еще можно преобразовывать символы в их мнемоники или html-сущности, обязательно, если используется xhtml.
В общем, советую читать документацию, в ней все ясно и понятно изложено. Pro-tip: читать комментарии к документации, разбираться в приведенных примерах.
|
|
|
|
|
Записан
|
|
|
|
|
ТырБыр ↓
|
 |
|
09 Февраль, 2012, 12:25:44 , спустя 44 минуты 50 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: 0
Сообщений: 8 Сила слова: 0
|
Большое спасибо. По видимому я столкнулся с такой проблемой, что без возможности отследить историю появления, сейчас мне доступны ВСЕ наработки и примеры за всю историю (хотябы на официальном сайте), поэтому и сложно понять, зачем они есть при наличие все тогоже filter_var, которое вы повсей видимости не используете? Ведь смысл еще в том, что не хочется учить то, от чего откажутся, например, в 6ой версии. Немного подожду, попробую, вскоре постараюсь быть более конкретным в примерах.
|
|
|
|
|
Записан
|
|
|
|
|
lolcat ↓
|
 |
|
09 Февраль, 2012, 12:35:51 , спустя 10 минут 7 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: -3
Сообщений: 367 Сила слова: -0.82
|
Незначительным мелочам внимание придаешь. Надо от задачи идти.
|
|
|
|
|
Записан
|
|
|
|
|
kostyl ↓
|
 |
|
09 Февраль, 2012, 02:04:07 , спустя 1 час 28 минут 16 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
занедельный антипаттерн
Группа: Джедаи Карма: 60
Сообщений: 3526 Сила слова: 1.7
|
ТырБыр, надо понять принципы, а не искать решение, которые каждый на свой вкус делает, просто зная принципы...
|
|
|
|
|
Записан
|
качество жизни обратно пропорционально количеству лени
|
|
|
|
master ↓
|
 |
|
09 Февраль, 2012, 01:59:04 , спустя 11 часов 54 минуты 57 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Квадратов сколько видишь ты?
Группа: Джедаи Карма: 44
Сообщений: 2080 Сила слова: 2.12
|
Пусть хоть обосрутся, подсовывая кавычки.
представил как это...
|
|
|
|
|
Записан
|
|
|
|
|
ТырБыр ↓
|
 |
|
12 Февраль, 2012, 12:39:54 , спустя 2 дня 10 часов 40 минут 50 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: 0
Сообщений: 8 Сила слова: 0
|
Спасибо, я принципов и искал. Смутили эти новые теги.
Вопрос в догонку. Правильно ли я понимаю что такие как $_POST экранируются в любом случае и не допускают отключения чтобы их не "того"?
|
|
|
|
|
Записан
|
|
|
|
|
kostyl ↓
|
 |
|
12 Февраль, 2012, 12:56:00 , спустя 16 минут 6 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
занедельный антипаттерн
Группа: Джедаи Карма: 60
Сообщений: 3526 Сила слова: 1.7
|
чего того, кого их?
|
|
|
|
|
Записан
|
качество жизни обратно пропорционально количеству лени
|
|
|
|
ТырБыр ↓
|
 |
|
12 Февраль, 2012, 01:14:30 , спустя 18 минут 30 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: 0
Сообщений: 8 Сила слова: 0
|
Ну как чего ... того!
Я вроде бы все меджики отключил, а переменные $_POST всеравно при изъятии экранированы.
|
|
|
|
|
Записан
|
|
|
|
|
kostyl ↓
|
 |
|
12 Февраль, 2012, 08:21:42 , спустя 19 часов 7 минут 12 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
занедельный антипаттерн
Группа: Джедаи Карма: 60
Сообщений: 3526 Сила слова: 1.7
|
значит не все отключил или старые данные остались
|
|
|
|
|
Записан
|
качество жизни обратно пропорционально количеству лени
|
|
|
|
master ↓
|
 |
|
12 Февраль, 2012, 10:12:45 , спустя 1 час 51 минуту 3 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Квадратов сколько видишь ты?
Группа: Джедаи Карма: 44
Сообщений: 2080 Сила слова: 2.12
|
ТырБыр, phpinfo() покажи
|
|
|
|
|
Записан
|
|
|
|
|
ТырБыр ↓
|
 |
|
26 Февраль, 2012, 11:35:38 , спустя 14 дней 1 час 22 минуты 53 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Карма: 0
Сообщений: 8 Сила слова: 0
|
Извините, насчет экранирования сЛошил. (перепутал локальный и удаленный хост).
Зато я видимо понял, что ходел спросить. ))) Правильно ли я понимаю что:
1) хранение в GPC массивах опасного содержимого допускается и не может навредить, покуда не начинаешь его выводить или делать его частью запроса и т.п.
(Ведь тот же $_POST наполняется пользователем через форму, и кроме magic_quotes нет способа на это содержимое воздействовать на шаге ввода. Следовательно, этот magic сделан для защиты от необдуманного вывода, как средство, чтобы вместо реальной бяки получился мусор.)
2) экранирование, а точнее конкретные действия зависят от конкретной ситуации, и не имеет значения (помимо производительности) как ты его делаешь, addslashes или даже str_replace("<", "<", $text) или еще как.
|
|
|
|
|
Записан
|
|
|
|
|
kostyl ↓
|
 |
|
26 Февраль, 2012, 11:59:34 , спустя 23 минуты 56 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
занедельный антипаттерн
Группа: Джедаи Карма: 60
Сообщений: 3526 Сила слова: 1.7
|
Маджик квотс это старое гавно, как и addslashes, которое при нём делается.
Ты можешь либо использовать данные полученные от ползователя, либо не использовать. Например, если ты просишь пользователя ввести одни цыфры, а он вводит буквы - пошел он нахуй сразу, даже не надо обрабатывать эти данные.
Если он вводит всё как ты просишь и у тебя теоретически нет претензий, тогда ты просто вставляешь это в БД, используя механизмы защиты драйверов БД (типа mysqli->escape (или как там...), pdo->prepare->execute) ), а если выводишь данные будь то из базы или нет, то преобразуешь их в html-сущьности как бы (htmlentities htmlspecialchars).
Вот и всё.
|
|
|
|
|
Записан
|
качество жизни обратно пропорционально количеству лени
|
|
|
|