У меня есть страница входа в систему, где пользователь вводит имя пользователя и пароль, опубликованные данные изменяются, когда пользователь вводит сложный символ, например
12@#$%432^&*;',89/-*+_'
it change to:
12@#$%C2^&*;',89/-*+_'
пользователь не может выполнить вход в систему
это контроллер для получения данных
if ($_POST)
{
$name = trim($this->input->post('name'));
$pass = trim($this->input->post('pass'));
}
это часть html-кода
<input type="text" id="user_login" size="22" tabindex="10" class="input" onclick="this.value = '';" onfocus="if (this.value == 'username') {
this.value = '';
}" onblur="if (this.value == '') {
this.value = 'username';
}"
name="name" value="<?php echo __t($dir_lang, 'user_login'); ?>">
<input type="password" class="input" size="22" tabindex="10" id="user_pass" size="22" tabindex="10" class="input" onclick="this.value = '';" onfocus="if (this.value == 'password') {
this.value = '';
}" onblur="if (this.value == '') {
this.value = 'password';
}" name="pass" value="<?php echo __t($dir_lang, 'user_pass'); ?>">
<p>
<input id="login-submit" value="<?php echo __t($dir_lang, 'logging_button'); ?>" tabindex="100" type="submit" />
</p>
Найденный в каталоге system/application/config/config.php, фильтрация xss была верна
$config['global_xss_filtering'] = true;
поэтому я меняю его на
$config['global_xss_filtering'] = false;
теперь он отлично работает
%43
был преобразован в%C
Может быть что-то с urlencode.