最近搞一个单点登录的东东,研究了下康盛的ucenterhome产品,在研究cookie的时候发现这么一段处理程序:
- $prelength = strlen($_SC['cookiepre']);
- foreach($_COOKIE as $key => $val) {
- if(substr($key, 0, $prelength) == $_SC['cookiepre']) {
- $_SCOOKIE[(substr($key, $prelength))] = empty($magic_quote) ? saddslashes($val) : $val;
- }
- }
其目的是把合法的cookie拿出来防到一个全局变量里去用。
cookie本身就是一个挺好的全局变量,而康盛又把这个变量拿出来去用,为什么?
或者,为了方便管理变量,但判断函数判断自定义全局变量跟判断cookie全局变量成本相同;
或者,为了让开发者必须彻底明白业务逻辑才能修改,提高竞争对手抄袭门槛或者提高二次开发门槛而给项目部带来更高的收入?
这样的代码里边很多,也许只有他们自己才能了解最终目的。
六月 5th, 2009 at 13:33:37
是的。感觉很乱
六月 5th, 2009 at 13:58:07
说实话,我也搞不清,请高手解释
六月 8th, 2009 at 12:20:03
我的理解一,加前缀避免同域名下cookie_name重复,
理解二,请仔细看理解一与上面的code