CodeIgniter XSS过滤器问题

时间:2013-11-02 21:13:37

标签: php codeigniter

应用/ controlers /的welcome.php

<?php
class Welcome extends CI_Controller {

    public function index()
    {
        if ($val = $this->input->post('test'))
        {
            var_dump($val);
        }
        else
        {
            $this->load->view('welcome_message');
        }
    }
}

应用/视图/ weclome_message.php

<form action="" method="POST">
<input type="text" name="test" />
<input type="submit" />
</form>

输出XSS滤波器并输入%9c:

string(1) "œ"

输出XSS滤波器关闭并输入%9c:

string(3) "%9c"

我期待第一个与第二个相同。究竟发生了什么?

1 个答案:

答案 0 :(得分:0)

我认为那是因为

而发生的
$str = rawurldecode($str);

在xss_clean函数中。看看346行:

https://github.com/EllisLab/CodeIgniter/blob/develop/system/core/Security.php

您可以尝试评论该行,看看会发生什么。