CodeIgniter: использовать get_post с XSS-фильтрацией для всего массива $ _POST - PullRequest
0 голосов
/ 28 января 2010

Есть ли более простой способ, чем

foreach($_POST as $x=>$y){
  $arr[$x] = $this->input->get_post($y, TRUE);
}

чтобы очистить весь массив $ _POST с помощью фильтра XSS CI. Глядя на входную библиотеку, кажется, что get_post () принимает только отдельную переменную, а не может очистить весь массив и затем вернуть массив обратно.

Ответы [ 3 ]

7 голосов
/ 28 января 2010

Не уверен, если вы хотите это глобально, но если вы хотите ... из руководства Ze:

Если вы хотите, чтобы фильтр запускался автоматически каждый раз, когда он встречает данные POST или COOKIE, вы можете включить его, открыв файл application / config / config.php и установив его:

$config['global_xss_filtering'] = TRUE;
2 голосов
/ 20 марта 2013
$this->input->post(NULL, TRUE);

возвращает все элементы POST с фильтром XSS

$this->input->post();

возвращает все элементы POST без XSS-фильтра

1 голос
/ 02 сентября 2010

Выбранный ответ для этого является правильным в некотором смысле, но предоставленная информация не является подходящим ответом на реальную проблему, которая является фильтрацией XSS в CI.

Чтобы прокомментировать комментарий Бобинса:

http://ponderwell.net/2010/08/codeigniter-xss-protection-is-good-but-not-enough-by-itself/

Либо htmlspecialchars / htmlentities / urlencode на всех выходных данных, либо возвращайтесь домой. XSS-фильтр CI использует устаревшую технику «черного списка», которая проваливает множество XSS-атак.

Кодировать и подтверждать. Всегда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...