Pull to refresh

Comments 37

Думал заказать, но т.к. свое лучше попробую сделать, спасибо.
Как вариант покупаем его здесь за 3.16$ Buyincoins или здесь за 6.30$ Dealextreme
Надеюсь не сочтут за рекламу, т.к. думаю данному сообществу эти сайты давно известны.
UFO just landed and posted this here
Из пуленепробиваемых трусов =)
распотрошить спец. шнурки для берц =)
Как вариант — разрезать вдоль достаточно длинный кусок оптоволоконного кабеля. Насколько я помню, там присутствует «броня» из кевларовых волокон.
Без наличия доставки в Украину и Россию, а по тем ссылкам что я дал доставка бесплатно.
Это верно, поспешил. Но, поубавив энтузиазма, полистал вниз, и заказал за 2.47)
Buyincoins у меня жутко тормозил. В итоге я получил ошибку:

2013 Lost connection to MySQL server during query
in:
[select * from products_discount_quantity where products_id='3982' and discount_qty <='1' order by discount_qty desc]


И сам тот факт, что я её увидел, и вид запроса (целые числа в кавычках), и, в общем-то, его смысл — всё говорит об одном.
а что не так с числами в кавычках? я бы ещё имена таблицы и полей закавычил
Ну, значения в кавычках — это строки, а поля явно имеют тип integer. Т.е. сервер вначале всё равно приведёт строки к числам. Думаю, что приведение к числу и проверку, что параметр таки число, должен делать не sql-сервер.

Конечно, есть шанс, что закавычивание целых чисел тут — это такой способ борьбы с инъекцией типа "?id=1 AND 1=1--", но (моё мнение) это не лучший способ бороться с такими инъекциями.

А что даст закавычивание имён таблиц, кроме того, что они перестанут восприниматься, как имена таблиц? :)
а я думаю, что проверка значений должна производиться в одном месте, а не в 10. и если она уже происходит в базе — незачем дублировать её в остальных местах.

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

именно как имена они и будут восприниматься. обычно используются квадратные скобки или бэктики
Я думаю, что все значения, получаемые со стороны браузера, должны валидироваться на стороне сервера перед обращением к базе.
База данных — это не инструмент для валидации, фильтрации или приведения типов.

Если вместо числа от пользователя придёт строка, то «простой и железный» фильтр в виде экранирования, может, и спасёт от инъекции, но получим исключение/ошибку от драйвера базы при выполнении запроса.

фильтр перед вставкой в строку запроса. ты же предлагаешь усложнить его добавив проверку «если это число, то не экранируем его и не закавычиваем»

Когда пишешь запрос, как правило явно видно, какое поле используется, и соответственно используются или не используются кавычки. Какие дополнительные проверки?
откуда такая уверенность что где должно быть? сегодня у нас пользователь идентифицируется числом, а завтра строкой. и начинается кутерьма «просьба командам всех сервисов бросить все дела и срочно сделать поддержку текстовых идентификаторов иначе мы сейчас сделаем альтер и у вас всё накроется медным тазом». а всё потому что сервера слишком много знали, слишком много делали. они как вахтёры преисполненные чувствовом собственной важности: «мы тут всё контролируем»

база — это инстумент хранения и обеспечения целостности данных. валидация, фильтрация и приведение типов — это лишь частные случаи.

не получим.

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

я не пишу запросы. я пользуюсь query builder-ом. там нет никаких кавычек, никакого ручного экранирования и тп
Ловкость рук и никакого мошенства! Хороший фокус!
Картонное НЛО прилетело и оставило эту надпись здесь.
Эх, после просмотра первого видео поверил в чудо :)
А после второго — узнал, как его создать ;)
А после второго стало грустно, что все так просто… надеялся на магниты/поля/сверхпроводники…
>при должной сноровке позволяет удивить друзей…

К сожалению, это ключевая фраза. Карточными фокусами тоже можно ввести в состояние эйфории. Вот только как «должной сноровки» добиться.
как добиться — традиционно, тренировками.
или перед фокусами доводить друзей до состояния кондиции…
Интересно а если 3 нло запускать, к какой части тела его можно прицепить :)
Сделал->поиграл->разозлился->сломал->выбросил.
Вот как надо картон продавать!
Опасно на публике проводить такие фокусы, дети в порывах счастья захотят себе такую игрушку и оторвут волшебнику ухо ))
Чел с двумя НЛО крут, это ж надо приловчиться!
я думал я один заметил)
Там еще можно ребенка на шнурке заметить.
Показалось сперва, что они из компакт-дисков сделаны.
UFO just landed and posted this here
Новогоднее волшебство!
Спасибо! Детям покажу.
Смотрю на такие штуки и понимаю, что люди их создающие имеют потрясающие мозги. Ведь по сути просто бумага, но какая аэродинамика!
Чувствую себя ребёнком. Заказал и попробую сделать своими руками.
Когда первый раз увидел сей дивайс, не впечатлился — хоть нить и не видел, было очевидно что там простой трюк. Меня восхищают создатели данного проекта: взяли простую идею, проработали технику демонстрации фокуса, красиво упаковали, вроде успешно продают и зарабатывают хорошие деньги. Мне бы так.
Sign up to leave a comment.

Articles