Будучи плохим в Regex
и новичком в Codeigniter
, мне нужна помощь в проверке ввода для безопасности (XSS, инъекция и т. Д.) И ограничив его буквенно-цифровыми, пробелами и символами. @, # () []
Другие символы запрещены.
Допустимая строка будет выглядеть (последовательность символов не имеет значения, любой допустимый символ, алфавит или число могут присутствовать в любом месте строки):
[Wave] Здравствуйте, идентификатор № 123 зарегистрирован как bol@gmail.com (псевдоним bol
Руа)
Я написал следующий код в контроллере:
public function _titleRegex($data)
{
if(preg_match('/^[][a-zA-Z0-9@# ,().]+$/',$data))
{
return TRUE;
}
else
{
return "<div class='alert alert-danger'>Some invalid characters are present.</div>";
//Also tried return FALSE; still I get the same error
}
}
public function addproperty()
{
$msg="";
$config = array(
array(
'field' => 'categories',
'label' =>'Category',
'rules' => 'required'
),
array(
'field'=>'ptitle',
'label'=>'Property Title',
'rules'=>'trim|required|xss_clean|callback__titleRegex'
)
);
$this->form_validation->set_rules($config);
if ($this->form_validation->run() == FALSE)
{
return validation_errors();
}
else
{
//do the work and then the further code ........
При запуске страницы я получаю следующую ошибку:
Невозможно получить доступ к сообщению об ошибке, соответствующему имени вашего поля. Свойство Title. (_ TitleRegex)
Пожалуйста, помогите