В настоящее время я использую CodeIgniter. У меня есть 4 формы (вход студента, вход в форму, создание учетной записи и запрос учетной записи)
В настоящее время я использую это для фильтрации ввода в одной из форм (создание учетной записи):
function create()
{
$this->load->library('bcrypt');
$this->load->library('form_validation');
$this->form_validation->set_rules('fname', 'First Name', 'trim|required|alpha|max_length[14]');
$this->form_validation->set_rules('lname', 'Last Name', 'trim|required|alpha|max_length[14]');
$this->form_validation->set_rules('email', 'Email Address', 'trim|required|is_unique[users.email]|valid_email');
$this->form_validation->set_rules('username', 'Username', 'trim|is_unique[users.username]|required|alpha_numeric||min_length[4]|max_length[15]');
$this->form_validation->set_rules('password', 'Password', 'trim|required|min_length[7]|alpha_dash|max_length[20]');
$this->form_validation->set_rules('passwordconf', 'Confirm Password', 'trim|required|min_length[7]|max_length[20]|matches[password]|alpha_dash');
if($this->form_validation->run() == FALSE)
{
$this->view();
}
Насколько я понимаю, HTML Purifier следует использовать только тогда, когда пользовательские данные будут отображаться/выводиться как HTML в таблице, форуме, блоге (и т. д.). Правильно ли я понимаю это? Я спрашиваю, потому что моя студенческая форма входа будет использоваться для ввода данных в базу данных. Затем моя страница студенческой очереди будет использоваться для ВЫБОРА... ИЗ... этой базы данных. Так что это сбивает меня с толку, так как когда я создаю вывод для студенческой очереди, данные будут размещены в базе данных. это не будет просто опубликовано напрямую.
Итак, в свою очередь ход моих мыслей выглядит следующим образом:
- Проверяйте данные, чтобы убедиться, что они соответствуют вашим ожиданиям
- Отфильтруйте данные с помощью xss_clean, как сейчас.
- Используйте подготовленные запросы PDO для вставки данных в БД
- (теперь этот шаг меня смущает) Как я должен отображать данные моей базы данных? Должен ли я использовать HTML Purifier на этом этапе?
Извините, если этот вопрос задавали миллион раз, я просто не могу найти то, что ищу. Я не полностью понимаю концепцию очистки HTML.
Редактировать 1: Использование глобального фильтра xss_clean в файле конфигурации.