JMF был заброшен. VLC более актуален и читает все. https://stackoverflow.com/a/5160010
Я думаю, что vlc превосходит все остальные программы, или, по крайней мере, те, которые я знаю ...
CodeIgniter ИСКЛЮЧАЕТ переменные, которые вы передаете при использовании метода $ this-> db-> query
. Но ТОЛЬКО когда вы передаете переменные в качестве привязок, вот пример:
$dbResult = $this->db->query("SELECT * FROM users WHERE username = ?", array($this->input->post('username')));
Также помните, что $ _ POST
не должно быть предпочтительнее $ this-> input-> post
с тех пор, как он проверяет, существуют ли переменные, чтобы предотвратить ошибки.
Вы должны использовать $ this-> input-> post, привязку запроса и активную запись, чтобы иметь более безопасные данные, а затем еще, тестовый тест проверить, чтобы убедиться.
Нет, CodeIgniter не будет волшебным образом дезинфицировать запросы, которые были созданы подобным образом.
Согласно документам CI здесь , фреймворк фильтрует POST о конструкции контроллера. При желании он также выполняет фильтрацию XSS, вызывая функцию вручную или задавая глобальную конфигурацию.
Я никогда не использовал CI, кроме как просто поиграться с ним, поэтому я не уверен, насколько я этому доверяю.
1133107]
Нет, опубликованный вами код восприимчив к SQL-инъекции. Вам необходимо использовать привязку запроса для построения ваших SQL-запросов. Если вы используете библиотеку CI DB, вы должны закодировать ее примерно так (пример из руководства пользователя):
$sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?";
$this->db->query($sql, array(3, 'live', 'Rick'));
That doesn't escape anything. You are better off changing it to the bind syntax or the active record syntax
Codeigniteriter предоставляет несколько функций скрепления строки в своем слое базы данных.
Выдержка из Руководство CI :
Это очень хорошая практика безопасности, чтобы избежать ваших данных, прежде чем отправлять его в вашу базу данных. Codeigniter имеет три метода , которые помогут вам сделать это:
$ this-> db-> escape () Эта функция определяет тип данных, чтобы он мог избежать только строковых данных. Он также автоматически добавляет отдельные цитаты вокруг данных, поэтому вам не нужно:
$ SQL = «Вставить в значения таблицы (заголовок) (». $ This-> db-> escape ($ title). ")" ;
Я бы опубликовал два других примера, но я не хотел бы взять на себя все удовольствие от чтения руководства.