How do you allow URI encoded characters in CodeIgn

2019-02-10 19:55发布

问题:

I am using CodeIgniter 1.7.1. My permitted URI characters are set as such:

$config['permitted_uri_chars'] = 'a-z 0-9~%.:_()@&\-';

When I type a address like http://website.com/index.php/controller/method/test%21, the page does not load and gives me the error:

Code igniter: An Error Was EncounteredThe URI you submitted has disallowed characters.

I don't understand. %20 (space) is allowed, but %21 (exclamation mark) is not.

回答1:

%21 parse into ! in codeigniter. So codeigniter doesn't support this please ! into permitted uri config file:

$config['permitted_uri_chars'] = 'a-z 0-9~%.:_()@&\-!';


回答2:

try escaping it with this, that should work

\\+