No niestety , jak ustawiam w configu na true to 3 parametr jest omijany i zawsze mi filtruje , ale jak dam w configu false to już uwzględnia 3 parametr .
Już widzę czemu tak się dzieje...
Gdy jest odpalany input który pobiera $_POST
najpierw w __construct jest
//czy w configu jest tru
$this->use_xss_clean = (bool) Kohana::config('core.global_xss_filtering');
//jakieś inne działania
//...
{
foreach ($_POST as $key => $val)
{
// Sanitize $_POST
$_POST[$this->clean_input_keys($key)] = $this->clean_input_data($val);
}
}
a w clean_input_data() mamy
if ($this->use_xss_clean === TRUE)
{
$str = $this->xss_clean($str);
}
A nasz 3 parametr jest sprawdzany dopiero po przepuszczeniu danych przez clean_input_data ...
czyli jak można zobaczyć w kodzie:
protected function search_array($array, $key, $default = NULL, $xss_clean = FALSE)
{
//jakieś inne działania
//...
if ($this->use_xss_clean === FALSE AND $xss_clean === TRUE)
{
// XSS clean the value
$value = $this->xss_clean($value);
}
jest on uwzględniany tylko gdy mamy config na false