Обновить
33
0.1
ionicman@ionicman

Пользователь

Отправить сообщение
Любая проверка входящих данных все это делает, с кэшированием не согласен — пофиг абсолютно что в качестве ключа для md5 (например) использовать.

Объем данных растет на 30% это да большой минус, согласен
Это лишь один из вариантов, никто не писал «делайте именно так».
А когда есть варианты — это гораздо лучше, когда их нет, не так ли? :)
ну простите, все разжовывать у меня времени нет. имеется ввиду «внешние данные», или если будет удобно «данные в которых может быть возможность угрозы», по моему это вполне понятно из статьи? нет?
а «как-я то строка» в виде чего у вас представляется? в виде пришедшего параметра? :)
Использоватьнадо везде где есть входящие внешние данные, используемые внутри запроса, если их нет то тогда никчему
У меня складывается впечталение, что ВЫ, дорогие господа, дочитали только фразу про base64, ничего дальше не прочли, не поняли, но зато написали коммент :/
В таком случае считайте это «просто одним из вариантов» реализации плейсхолдеров :)
Почему ВЕЗДЕ?
Не совсем, плейсхолдер сам следит за недопустимыми значениями, так? экранирует их если есть необходимость, если нет — оставляет «as is», он же занимется сборкой — т.е. расставлением кавычек и т.д.
Например, если пх знает что в mysql в стринге не должно быть кавычек он их заэкранит, гипотетически возможно появление следуюещго — находят что какаято последовательность символов позволяет реализовать какую любо угрозу — если пх выпущен ДО этого — оно про это не знает и ничего не делает соовтетвенно.

Здесь же данные идут «в контейнере» — от такой ситуции ты застрахован.
Ну понятно что «универсального соладата» нельзя сделать :)
Поздравляю :-D
эм… ну по мне так не сильно читаемый код получается, уж извините. Понятный и поддающийся разбору — да, но читаемость невысокая.
От XSS он спасет когда данные на клинета бегут в бейзе и там раскручиваются. таким образом
var a=«abc»;alert(5);b=«7»
превратится в a=«base64string»;
и не выполнится.
както так
скорость? поиск? склеивание?
потому что в лейсах обычно запрос строится по принципу:

«select # from #2 where # and # and # order by #», #, #, #…

А теперь представим что он у нас сложно подчиненный, количество and во where меняется, как и кол-во order полей.

не сильно удобно
если использовать враппер, как предлагает оригинальный автор — без бейза небудет работать
эмм?
Что вы имеете ввиду под «простым квоттингом»?
Существует масса программистов занятых «кодингом», и зачастую они просто забывают это делать, а за всеми не уследишь, этот же способ лишает их возможности сделать такую ошибку.

Кроме того такая ошибка может вкрасться элментарно по не внимательности, пусть даже одна в большом и качественном коде ( причем даже у такого Ёлопукки как Вы :) ) — этого уже хватит.

Надо чтобы код максимально избавлялся от человескеого фактора и ошибок с ним связанных. И это правильно.

Placeholders — выход, но при сложных запросах где надо писать упоминание на множество таблиц плейс превращает более-менне понятный запрос в кашу, причем ДАЖЕ ( и ОБЫЧНО ) если вы юзаете алиасы чтобы не писать кучу переменных в плейсах.

Информация

В рейтинге
3 375-й
Зарегистрирован
Активность