Codeigniter urlencoded表单输入中的字符串

时间:2012-01-27 09:57:53

标签: php codeigniter urlencode

我有一个带有输入字段的表单,可以接受网址。

一切正常,直到有人尝试使用网址编码元素提交网址。网址看起来像那样

http://example.com/a=xx&b=%23yy

我收到此字符串为http://example.com/a=xx&b=#yy

即使在进行任何表单验证之前,$this->input->post('url')也会对网址编码元素进行解码。我需要完全按照输入的方式接收它。

我尝试使用常规和多部分形式。

知道造成这种情况的原因是什么?

2 个答案:

答案 0 :(得分:0)

您是否在application / config.php中将XSS过滤全局置于TRUE?

$config['global_xss_filtering'] = TRUE;

如果是这样,您可以通过设置可选参数来禁用过滤:

$this->input->post('url', FALSE)

还要检查application / config.php中的“允许的URL字符”是否合理。

我也会使用URLEncode /解码客户端和服务器端。

答案 1 :(得分:0)

也许CodeIgniter的输入类有一些神奇之处。尝试直接print_r你的$ _POST。那个网址在那里不受影响吗?