Если вы имеете в виду использование методов input
, Да, вы можете технически открыть system/libraries/Input.php
, перейдя к следующему коду:
/**
* Clean Input Data
*
* This is a helper function. It escapes data and
* standardizes newline characters to \n
*
* @access private
* @param string
* @return string
*/
function _clean_input_data($str)
{
if (is_array($str))
{
$new_array = array();
foreach ($str as $key => $val)
{
$new_array[$this->_clean_input_keys($key)] = $this->_clean_input_data($val);
}
return $new_array;
}
// We strip slashes if magic quotes is on to keep things consistent
if (get_magic_quotes_gpc())
{
$str = stripslashes($str);
}
// Should we filter the input data?
if ($this->use_xss_clean === TRUE)
{
$str = $this->xss_clean($str);
}
// Standardize newlines
if (strpos($str, "\r") !== FALSE)
{
$str = str_replace(array("\r\n", "\r"), "\n", $str);
}
return $str;
}
И сразу после очистки xss вы можете поставить свою собственную функцию фильтрации следующим образом:
// Should we filter the input data?
if ($this->use_xss_clean === TRUE)
{
$str = $this->xss_clean($str);
}
$str = strip_tags($str);
Однако это означает, что каждый раз, когда вы обновляете CodeIgniter, вам придется снова вносить это изменение. Кроме того, поскольку это делает все это глобально, не имеет смысла, если возвращаемое вами значение, скажем, числовое. По этим причинам
Теперь для альтернативного решения вы можете использовать библиотеку CodeIgniter Form Validation , которая позволяет вам устанавливать пользовательские правила для полей, включая функции php, которые могут принимать один аргумент, например strip_tags
:
$this->form_validation->set_rules('usertext', 'User Text', 'required|strip_tags');
Я не уверен, каковы обстоятельства, поэтому я позволю вам решить, какой путь выбрать, но в целом я рекомендую обрабатывать проверку данных для каждого отдельного случая, поскольку в большинстве случаев проверка данных уникален.