Codeigniter xss_clean проблема

В кодеигниторе $this->input->post()xss_clean=true)

дает этот вывод

[removed]alert('Hello')[removed]

для этой входной строки

<script>alert('Hello')</script>

Я хочу вывод без содержания [removed]т.е. alert&#40;'Hello'&#41;

Наконец я закончил редактирование system/core/security.php файл.

От

$str = preg_replace("#<(/*)(script|xss)(.*?)\>#si", '[removed]', $str);

к

$str = preg_replace("#<(/*)(script|xss)(.*?)\>#si", '', $str);

Это делает работу.

Я просто спрашиваю, есть ли альтернативный способ сделать это без изменения системных файлов?

Дополнительно

Должен ли я использовать codeigniter«s xss_clean функция?

0

Решение

Да, попробуйте расширить класс из CI_Security и написать новую функцию:

protected function _do_never_allowed($str)

это будет более ООП способ.

РЕДАКТИРОВАТЬ:

CodeIgniter позволяет расширять основные классы. Смотрите эту ссылку:

Расширение CodeIgniter Security.php для включения ведения журнала

1

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

Вы никогда не должны редактировать файлы ядра.

Вместо этого вы должны просто расширить класс Security из приложения.

Создайте файл с именем «MY_Security.php» в ./application/core и расширьте класс Security.

1

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