用CodeIgnitr在Ubuntu nginx上开发,迁移到windowsIIS上后报URI非法
用CI做一个系统,SSO部分部署成一个独立站点,也是用CI做的,在Ubuntu Nginx上测试好了,拿到windows 2008 R2上测试,直接用IIS FastCGI的模式跑PHP。测试过程中在一个跳转时报 “The URI you submitted has disallowed characters.”错误,有没有人能指点个思路,帮忙找找问题原因?多谢涉案URI:
http://sso.mydomain.com/portal/auth/q.mydomain.com/9cf425ff2ca6837cc73ccf2730fdbc7a/http%3A%2F%2Fq.mydomain.com%2Flogin%2Ftoken_recieve%2F%7Ctoken%7C%2F%7Cticket%7C%2F%7Csign%7C/4f3e4300e22be981439b0403a52c024e
URI许可规则用的是默认配置:
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
试试看。
class MY_Input extends CI_Input
{
function _clean_input_keys($str)
{
$config = &get_config('config');
if ( ! preg_match("/^[".$config['permitted_uri_chars']."]+$/i", rawurlencode($str))) {
exit('Disallowed Key Characters.');
}
if (UTF8_ENABLED === TRUE) {
$str = $this->uni->clean_string($str);
}
return $str;
}
}
Bobby 发表于 2013-10-17 11:47 static/image/common/back.gif
试试看。
多谢,在其他地方看到过这个说法,试了下,貌似没有作用,可能我遇到的问题另有原因。
我继续尝试,有结果后会分享到这里。
页:
[1]