Я прошел идентификатор с помощью метода AJAX POST на мой CodeIgniter контроллер:значение CodeIgniter проводки в безопасном способе
Я дал $config['global_xss_filtering'] = TRUE;
в моем файле конфигурации.
$id = $this->input->post('id');
$this->model_a->did($id);
Я хотел бы знать, если приведенный выше код является достаточно безопасным, или я должен добавить что-то вроде этого:
if ($this->input->post('id') && !empty($_POST['id'])) {
$id = $this->input->post('id');
if (is_int($id)) {
$this->model_a->did($id);
}
}
Или, может быть, я должен добавить что-то еще? Не могли бы вы помочь мне найти наиболее безопасный способ.
Update:
и нижеуказанные коды достаточно безопасными для значения, представленного с помощью HTML-форм?
$this->form_validation->set_rules('username', 'Username', 'required|trim');
if ($this->form_validation->run()) {
$username = $this->input->post('username');
}
Должен ли я добавить if ($this->input->post('username') && !empty($_POST['username']))
или что-то еще?
Ну код прекрасно до тех пор, как xss_filtering на для защиты от 'CSRF' атак. Я бы предпочел второй пример, который вы написали, это гарантирует, что значение будет отправлено, и что это значение на самом деле является целым числом, прежде чем пытаться сделать что-либо еще –
спасибо за ответ. Не могли бы вы проверить обновленную часть моего вопроса? – EducateYourself