Доброе утро форумчане! В PDO запросы типа: Код (Text): INSERT INTO {$this->table} (login, name, email, activation, pass) VALUES(?,?,?,?,?) . Нужно ли обрабатывать входные данные login, name, email, activation, pass функциями mysql_real_escape_string, trim, htmlspecialchars, strip_tags или чем-то еще? Или PDO сам их обрабатывает?
Подготовленные запросы не нужно фильтровать от инъекций дополнительно. Но запретить различные символы в логине, установить длину например, количество пробелов, все же придется самому..) htmlspecialchars не нужно вообще использовать в запросах, функция нужна только при выводе каких-либо данных на экран пользователя. По всем функциям можно почитать информацию на php.ru
https://secure.php.net/manual/ru/function.filter-input-array.php https://secure.php.net/manual/ru/pdostatement.bindvalue.php
как говорили на этом форуме.. не помню кто правда, не нужно ограничивать пользователя длинной, символами и т.д. нужно просто правильно обработать инфу
Там было сказано про пароль пользователя, а не логин, который может не вписываться в дизайн проекта, ну либо имена нечитаемые.. Кому нужны крякозябры ? да никому. А вообще, каждый д.. как он хочет
Вот из-за такой херни у меня ник везде то Fell-x27, то Fellx27, то Fell_x27, то Fellx277, блеять, потому что минимальную длину символов кто-то любит втыкать. Ажтрисьот.
Ну это уже маразм, я не против двух пробелов, прочерков, тире. Всему есть предел же. Я имел ввиду, если логины не ограничивать никак, то выйдет ахинея такого плана "a -d -s -q=!-`'d;as' " Ну и кому это будет нужно? а пара звездочек и другие символы привычно для многих форумов, чатиков.
вот есть у нас пользователь [vs]. к нему нельзя обратиться "по собачке" как @[vs] и кажется не получится цитировать как [ quote=[vs] ] так что некоторые фильтры имеют смысл.
То есть это проблема именно ника, а не глуповатого парсера разметки форума? Тэк, тестирование показало, что наше ПО спотыкается о квадратные скобки. Что делать? Пофиксить баг? Ну нахрен, давайте квадратные скобки запретим! Отличное решение! Так чтоли?
" Это проблема пользователей форума, не не "ника" или "парсера" Если бы я создавал этот движок, из двух полярных подходов я бы выбрал разумную середину. Я бы оставил достаточно большое пространство имен, но не беспредельно большое. Ибо стоимость обходных решений может быть больше выигрыша от беспонтового подыгрывания странным желаниям. --- Добавлено --- @Fell-x27 Как насчёт символа LF? Его тоже надо разрешить в имени? Ну и т.д. пофантазируй.
Твоё имя (в отличие от пароля) используешь не только ты. Если б я был владелец, я не дал бы хyю-с-горы создавать неудобства другим пользователям. Ох уж это вечное балансирование между правами индивидуума и интересами сообщества - истина где-то посередине. --- Добавлено --- Это не имеет отношения к инъекциям. Это больше про здравый смысл и юзабилити. Есть много мест в реале где есть ограничения на имена. Нагуглил по-быстрому: https://www.fresher.ru/2015/09/27/zapreshhyonnye-imena-v-raznyx-stranax-mira/