illy пишет:Может ли инъекция навредить при передаче данных.
Вот ввёл он в логин скрипт инъекции и отправил.
Обработчик берёт значение этого логина и просто вносит в базу.
Здесь он никак не навредит? Только при выводе информации?
навредит и еще как, сначала проверят проходит ли sql-injection, специально напишут так, чтобы запрос к базе данных получился бы не верным и соответственно получится ошибка, поймут что есть уязвимость и вместе с этим запросом могут отправить еще какие-нибудь или в этот допишут что-нибудь интересное, зависит от ситуаций и как написан сам запрос. поэтому экранировать нужно всегда. А вот в случае с xss, то тут да, навредить могут только при выводе информации на страницу, но опять же смотри, лучше один раз на этапе записи данных в базу позаботится о преобразовании спец. символов в html сущности при помощи функции htmlspecialchars() и быть уверенным, чем потом быть параноиком и при каждом выводе данных из базы обрабатывать их этой функцией.
(Добавление)
Ammiak пишет:Цитата:Однако вполне можно поэкспериментировать с вводом длинных значений в ваши поля, ограничений на это я не нашел.
Ограничение на длину пароля я делал, на стороне клиента через js. Длину логина специально не ограничивал, должна ограничиваться длиной самого инпута (maxlength="36"), в первом посте не указал
нужно все равно проверять на стороне сервера, js при желании смогут отключить в браузере или вообще возьмут данные тебе и отправят при помощи поддельной html-формы. ну или если лень в скрипте проверять, можно в мускуле ограничить, просто задать длину полю и всё, больше этого все равно как не старайся мускуль записывать откажется.