Как санировать входной код 3?

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

Сейчас я использую CodeIgniter 3 и хочу знать, какой фильтр очистки моих данных является лучшим, который я извлекаю у пользователей перед тем, как вставить в базу данных.

Это для моего веб-сайта, и я не знаю, какой пользователь регистрируется, и я не могу им доверять. И возможно, что это будет опасно. Я хочу очистить весь ввод перед тем, как вставить его в базу данных, я не знаю, input Достаточно класса для санации?
Скажите, пожалуйста, функции дезинфекции codeigniter!

Я прочитал класс безопасности в документе codeigniter, но я хочу быть уверен.

3

Решение

Согласно Документы, input класс, делает следующее:

  • Фильтрует ключи массива GET / POST / COOKIE, разрешая только буквенно-цифровые (и некоторые другие) символы.
  • Обеспечивает фильтрацию XSS (межсайтовый скриптинг). Это может быть включено глобально или по запросу.
  • и некоторая другая обработка, но для безопасности этого достаточно.

Таким образом, это решает проблему внедрения SQL и XSS. Для большинства случаев этого достаточно.

Включить XSS защита, использование:

$val = $this->input->post('some_data', TRUE); // last param enables XSS protection.

Кроме того, вы можете посмотреть в CSRF защита. Но это немного сложно включить, если вы делаете ajax-вызовы.


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

7

Другие решения

Прежде чем принимать какие-либо данные в ваше приложение, будь то данные POST из отправки формы, URI
данные, вы должны выполнить следующие действия:

  1. Фильтруйте данные.
  2. Проверьте данные, чтобы убедиться, что они соответствуют правильному типу, длине, размеру и т. Д. (Иногда этот шаг может заменить
    первый шаг)
  3. Сбросьте данные перед отправкой в ​​базу данных.
    CodeIgniter предоставляет следующие функции, чтобы помочь в этом процессе:

XSS-фильтрация

Этот фильтр ищет часто используемые методы для встраивания вредоносных
JavaScript в ваших данных

Для фильтрации данных через фильтр XSS используйте xss_clean() метод: Прочитайте больше

Проверьте данные

CodeIgniter имеет библиотеку проверки форм, которая поможет вам в проверке, фильтрации и подготовке ваших данных

$this->form_validation->set_rules('username', 'Username','trim|required|min_length[5]|max_length[12]');

обрезка полей, проверка длины в случае необходимости и проверка соответствия обоих полей пароля. Прочитайте больше

Удалить все данные перед вставкой базы данных

Никогда не вставляйте информацию в свою базу данных без ее выхода.

Обратитесь к классу построителя запросов для получения дополнительной информации. https://www.codeigniter.com/userguide3/database/query_builder.html

Больше информации

Codeigniter не делает ваше приложение secyre видеть это https://security.stackexchange.com/questions/97845/how-secure-is-codeigniter-3-x

Все действительно зависит от developer.frameworks предоставит только структуру для создания ваших приложений. Вы будете более защищены, если напишите основной php.

Дополнительные ссылки:

Как вы используете bcrypt для хэширования паролей в PHP?

Достаточно ли подготовленных операторов PDO для предотвращения внедрения SQL?

1

По вопросам рекламы [email protected]