1

1

1

1 1!

1

1 погода

Ищите штатные функции, автоматически исключающие SQL-инъекции. +18+21/-3, 67 1

Программируете что-либо с использованием SQL? Не забудьте про риск SQL-инъекции.

www.xkcd.ru/327/

Скорее всего, в СУБД-библиотеке уже есть функции, автоматически заменяющие спецсимволы в строках на соответствующие подстановки. Например, bind в SqLite, TQuery.Params в Delphi… Найдите их и используйте!

1 1
1

1
...

1 Mercury13 1, 31 января 2010 в 03:32

1 (8)

  1.   1
    1 Mercury13 31 января 2010 в 03:32¤
  2.   1

    1 SQL

    1 kstatida.ru 31 января 2010 в 12:22¤
  3.   2

    mysql_real_escape_string, $adodb->qstr(?)

    1 salemem 31 января 2010 в 13:41¤
  4.   2

    кстати, bind и D.Params никакого отошения к экранированию неимеют

    1 salemem 31 января 2010 в 13:58¤
  5.   0

    Они мало того что экранируют — так ещё параметры подставляют прямо в запрос. bind на место вопросительных знаков, TQuery.Params — а не помню, какие там символы подстановки. Вообще клад для проггера!

    1 Mercury13 4 февраля 2010 в 04:14¤
  6.   2

    Объяснение только какое-то странное. Sqlite, Delphi — совсем разные вещи же, движок баз данных и язык программирования.

    1 lightalloy 31 января 2010 в 14:14¤
  7.   0

    Ну… есть же в Дельфи штатная БД-библиотека!

    1 Mercury13 1 февраля 2010 в 10:42¤
  8.   -3
    1 papa2005 1 февраля 2010 в 12:33¤
  9.   2

    ORM — как сладко это слово :)

    1 GLeBaTi 26 июня 2012 в 14:33¤
  10.   2
    1 JavInn 26 марта 2013 в 20:17¤
  11.   0

    Я бы переформулировал: "Используйте подстановку параметров в SQL-запросы вместо динамически создаваемого текста запросов"

    1 omich1990 10 января 2017 в 17:28¤

1
1 ?