Добрый вечер. Может быть, этот вопрос очень глупый, но он волнует меня) Сегодня обнаружил в базе данных со счетами оплаты более 5000 странных записей. На главной сайта имеется форма пополнения баланса игрока, из которой пользователю можно заполнить сам баланс и ник.
Подскажите, это попытка SQL-инъекции от какого-то пользователя, или попытка положить сервер множественными запросами к БД?
p.s. Почему-то не могу прикрепить скриншот, поэтому выложу пример поля username текстом)
`/**/WHERE/**/2760=2760/**/UNION/**/ALL/**/SELECT/**/NULL,NULL,NULL,NULL,NULL--/**/POjU
ThunderCat, ну код просто обезопасил строку и вбил в бд. Ничего преступного нет. Преступление это когда идет проверка на зарезервированные слова, типа select, insert, delete и тд. Которая лишает возможности выбрать имя, содержащее такую подстроку. Уж лучше бы была возможность инъекции, чем такое.
Преступление это когда идет проверка на зарезервированные слова, типа select, insert, delete и тд.
при чем тут это? в юзернэйм должны попасть определенные символы, например альфанумерик и возможно андерскор и тире. Ну может еще точка. И длинна не менее и не более определенной. А тут такой шлак записан, сразу ясно что ни о каких санитайзерах и речи не шло при получении данных. Простая регулярка решила бы вопрос, но ТС просто еще не дорос до понятия обработки данных. Все приходит с опытом.
ThunderCat, из-за недостаточного понимания вопросов обработки данных и приведения их в безопасный вид, пошла практика выкидывать из строки все, что не напоминает знакомые буквы, но знакомыми буквами алфавиты не заканчиваются.
это никак не относится к юзернеймам, не надо путать с именами. В частности многие сервисы создают емэйл на основе юзернейма, в рфц прописано альфанумерик, андерскор, тире и точка. Диакритики и славянские символы не канают.