Является ли плохое соглашение по именованию таблиц и столбцов хорошей защитой от внедрения SQL - PullRequest
1 голос
/ 15 августа 2011

У хакера гораздо больше шансов попытаться внедрить этот запрос:

') DELETE FROM Users --

, чем этот:

') DELETE From Blargblarbglbglab--

Имеет ли плохое соглашение по именованию таблиц и столбцов хорошеедополнительная защита от впрыска Sql.

Ответы [ 7 ]

3 голосов
/ 15 августа 2011

Не очень хорошая техника / тактика, кроме того, что сделать вашу собственную жизнь очень трудной - если у вас есть уязвимость, которая позволяет им запрашивать таблицы и просматривать результаты в какой-либо форме, они могут внедрить запрос, чтобы посмотреть в представлениях information_schema /таблицы.

Таким образом, плохое присвоение имен происходит только по-своему, хакер не делает невозможным поиск имен таблиц.

Правильно защитите его с помощью правильного кодирования.практика.

2 голосов
/ 15 августа 2011

Вы не должны называть переменные в строке запроса равными столбцам в БД, чтобы не предоставлять конфиденциальные данные всем.Кроме того, всегда очищает ваши данные

2 голосов
/ 15 августа 2011

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

2 голосов
/ 15 августа 2011

Не думаю, что это может остановить хорошего хакера.По сети вы можете найти много лучших решений для вашего запроса.Если у вас нет опыта, в wikipedia.org есть подходящее описание и множество ссылок.

2 голосов
/ 15 августа 2011

Я нашел эту статью, и в ней довольно неплохо объясняется, как предотвратить атаки SQL-инъекций: o)

MySQL - SQL-инъекции

Если хакеру удалось атаковатьваш сайт, они смогут получить доступ к системным таблицам, поэтому не имеет значения, как и как вы называете таблицы / столбцы.Лучше всего избегать взломов SQL-инъекций.

1 голос
/ 15 августа 2011

Краткий ответ: технически да, но это плохая идея.Технически, лопата, полная грязи, может остановить наводнение, но это все равно уничтожит вас в конце концов.Длинный ответ: вы всегда должны избегать ваших данных. ВСЕГДА .Без исключений, КОГДА-ЛИБО .

Смешные имена таблиц только повредят вам время разработки и увеличат ваш технический долг гораздо больше, чем любая возможная выгода, которую это могло бы иметь.Это будет стоить вам времени, а , вероятно, приведет к увеличению количества ошибок, поскольку определенно труднее запомнить.

1 голос
/ 15 августа 2011

Ваши пользователи никогда не должны иметь возможность выполнять какие-либо запросы, и поэтому неверные имена таблиц должны вас только смущать.

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