0
我遇到了处理$ _GET的CI问题,并找到了解决这个问题的方法。
问题是,你能看到这里的安全问题吗?
我有我的网址一样
/contacts
/company/info
所有的方式和对笨我的默认控制器被称为指数
我可以让CI只要有$_GET
表现为我按照class/function/default_controller
。
这两个网址的工作:
// class + function + default controller = ok
/class/function/index?var1=this&var2=that
// class + default controller = ok
/class/index?var1=this&var2=that
的事情是我想这些也工作
// class without function nor default controller = NOT OK
/class?var1=this&var2=that
// class + function without default controller = NOT OK
/class/function?var1=this&var2=that
我的解决办法是在$_SERVER['REQUEST_URI']
一点正则表达式。
我不是专家的正则表达式,所以,你可以在这里看到一个可能的安全问题?
/*
|---------------------------------------------------------------
| MAKE CODEIGNITER BEHAVE ON _GETS!
|---------------------------------------------------------------
|
| CI doesn't like to play ball with /contacts?a=23 and fails on several ocasions
| This forces the first ? or & to be replaced by /index/ that is the default controller
|
*/
$_SERVER['REQUEST_URI'] = preg_replace('/\?|\&/', '/index/', $_SERVER['REQUEST_URI'], 1);
谢谢。
感谢您的意见! ;) – Frankie 2010-07-03 02:08:01