2009年8月6日星期四

这才叫经典语句~~~~

1. 你以为最酸的感觉是吃醋吗?不是,最酸的感觉是没权吃醋。 
2. 低头要有勇气,抬头要有底气。 
3. 上天决定了谁是你的亲戚,幸运的是在选择朋友方面它给你留了余地。 
4. 人生就像一杯茶,不会苦一辈子,但总会苦一阵子。 
5. 傻与不傻,要看你会不会装傻。 
6. 女人用友情来拒绝爱情,男人用友情来换取爱情。 
7. 幸福是可以通过学习来获得的,尽管它不是我们的母语。  
8. 不要见一个爱一个,爱的太多,你的爱就要贬值。 
9. 想完全了解一个男人,最好别做他的恋人,而做他的朋友。 
10. 朋友就是把你看透了,还能喜欢你的人。 
11. 当我们搬开别人架下的绊脚石时,也许恰恰是在为自己铺路。 
12. 痛苦来临时不要总问: “ 为什么偏偏是我? ” 因为快乐降临时你可没有问过这个问题。 
13. 如果说我懂的道理比别人多一点,那是因为我犯的错误比别人多一点。 
14. 不是每句 “ 对不起 ” ,都能换来 “ 没关系 ” 。 
15. 世界上只有想不通的人,没有走不通的路。 
16. 地球是运动的,一个人不会永远处在倒霉的位置。 
17. 走的最急的是最美的景色,伤的最深的是最真的感情。 
18. 在事实面前,我们的想象力越发达,后果就越不堪设想。 
19. 当别人开始说你是疯子的时候,你离成功就不远了 ……
20. 你永远看不见我眼里的泪,因为你不在时我才会哭泣。 
21. 时间就像一张网,你撒在哪里,你的收获就在哪里。 
22. 如果我能够看到自己的背影,我想它一定很忧伤,因为我把快乐都留在了前面。 
23. 理想和现实总是有差距的,幸好还有差距,不然,谁还稀罕理想? 
24.  说有上辈子的人是在骗自己;说有下辈子的人是在骗别人。 
25. 任何人都可以变得狠毒,只要你尝试过嫉妒。 
26. 常常告诫自己不要在一棵树上吊死,结果 …… 在树林里迷路了。 
27. 爱情就像攥在手里的沙子,攥的越紧,流失的越快。 
28. 人生有两大悲剧:一个是得不到想要的东西,另一个是得到了不想要的东西。 
29. 成熟不是心变老,而是眼泪在眼里打转却还保持微笑。 
30. 问候不一定要郑重其事,但一定要真诚感人。 
31. 做与不做的最大区别是:后者拥有对前者的评论权。 
32. 人,长得漂亮不如活的漂亮。 
33. 有些事,明知是错的,也要去坚持,因为不甘心;有些人,明知是爱的,也要去放弃,因为没有结局;有时候,明知没路了,却还在前进,因为习惯了。 
34. 同样的一瓶饮料,便利店里 2 块钱,五星饭店里 60 块,很多的时候,一个人的价值取决于所在的位置。 
35. 每个人出生的时候都是原创,可悲的是很多人渐渐都成了盗版。 
36. 真坏人并不可怕,可怕的是假好人。 
37. 浪漫是一袭美丽的晚礼服,但你不能一天到晚都穿着它。 
38. 把一切平凡的事做好即不平凡,把一切简单的事做好即不简单。  
39. 把不忙不闲的工作做的出色,把不咸不淡的生活过得精彩。 
40. 情侣间最矛盾的地方就是幻想彼此的未来,却惦记着对方的过去。 
41. 忙碌是一种幸福,让我们没时间体会痛苦;奔波是一种快乐,让我们真实地感受生活;疲惫是一种享受,让我们无暇空虚。 
42. 理想很丰满,现实很骨感。 
43. 女人吻男人是一种幸福,男人吻女人是一种口福。 
44. 爱情永远比婚姻圣洁,婚姻永远比爱情实惠。 
45. 探索的旅程不在于发现新大陆,而在于培养新视角。 
46. 一个人能走多远,要看他有谁同行;一个人有多优秀,要看他有谁指点;一个人有多成功,要看他有谁相伴。 
47. 叹气是最浪费时间的事情,哭泣是最浪费力气的行径。 
48. 不是人人都能活的低调,可以低调的基础是随时都能高调。 
49. 谈恋爱就像剥洋葱,总有一层会让你流泪。 
67. 
68. 年轻时候,拍下许多照片,摆在客厅给别人看;等到老了,才明白照片是拍给自己看的。 
69. 就算不快乐也不要皱眉,因为你永远不知道谁会爱上你的笑容。 
70. 当大部分人都在关注你飞的高不高时,只有少部分人关心你飞的累不累,这就是友情。 
71. 绝口不提不是因为忘记,而是因为铭记。 
72. 
73. 让未来到来,让过去过去。 
74. 微小的幸福就在身边,容易满足就是天堂。 
75. 成功有个副作用,就是以为过去的做法同样适应于将来。 
76. 天使之所以会飞,是因为她们把自己看得很轻 ……
77. 试金可以用火,试女人可以用金,试男人可以用女人。 
78. 喜欢一个人,就是在一起很开心;爱一个人,就是即使不开心,也想在一起。 
79. 
80. 幽默就是一个人想哭的时候还有笑的兴致。 
81. 咖啡苦与甜,不在于怎么搅拌,而在于是否放糖;一段伤痛,不在于怎么忘记,而在于是否有勇气重新开始。 
82. 人之所以活得累,是因为放不下架子,撕不开面子,解不开情节。 
83. 漂亮只能为别人提供眼福,却不一定换到幸福。 
84. 
85. 美丽让男人停下,智慧让男人留下。 
86. 人生最精彩的不是实现梦想的瞬间,而是坚持梦想的过程。 
87. 人生的冷暖取决于心灵的温度。 
88. 如果你为自己定的所有目标都已达到,那么说明你定的目标还不够远大。 
89. 生活可以将就,生活也可以讲究。 
90. 
91. 女人的眼泪是没用的液体,但你让女人流泪说明你很没用。 
92. 忍无可忍,就重新再忍。 
93. 睡觉说明明天还要起来。 
94. 付出真心,才会得到真心,却可能伤的彻底;保持距离,才能保护自己,却注定永远寂寞。 
95. 让梦想成真的最好办法就是醒来。 
96. 说真话的最大好处就是你不必记得你都说些什么。 
97. 有时候,不是对方不在乎你,而是你把对方看的太重。 
98. 废话是人际关系的第一句。

2009年8月4日星期二

超酷签名档

1. 红豆不长南国,长我脸上了,真相思!
2. 做梦梦见吃意大利面,早上醒来发现鞋带没了!


3、你有什么不开心的事?说出来让大家开心一下。
4.逃课太多,昨天想去上课,见到教授,教授惊讶地说,这么长时间不见,长这么大了。
5.天山童姥——外表正太,内心却有三百六十五道裂痕,每道裂痕上书春夏秋冬四字,沧桑到妖


6.每当我错过一个女孩,我就在地上放一块砖,于是便有了长城。
7.留了青山在,还是没柴烧。
8.纯,属虚构,乱,是佳人。
9.幸福就是痒的时候挠一下,不幸就是痒了但挠不着,更不幸的是,很久以来灵魂和肉体都感觉不到那种蠢蠢欲动的痒了。
10. 我虽然做不了有钱人的后代,但我一定要做有钱人的祖宗。
11.天没降大任于我,照样苦我心智,劳我筋骨。
12.谁,执我之手,敛我半世癫狂;谁,吻我之眸,遮我半世流离。
13.众里寻她千百度,蓦然回首,那人依旧对我不屑一顾。
14.念了十几年书,想起来还是幼儿园比较好混。   
15.什么是幸福?幸福就是猫吃鱼,狗吃肉,奥特曼打小怪兽。
16. 阁下莫非就是当年华山论剑武工独步天下罕有其匹号称一朵梨花压海棠的少林寺智障大师收养的小沙弥低能的爱犬旺财踩扁的蟑螂小强曾滚过的一个粪球?
17.短篇小说我爱你母亲的上半部分,今天就播送到这里,明天同一时间请继续欣赏,我爱你母亲的下半部分;
18.地铁上的广告:挤吗?买辆车吧!出租车上的广告:堵吗?坐地铁吧!   
19. 我接到一个手机短信,动物园有只猴子奇丑无比,人见人吐,有一天我去了我吐了,有一天你去了,猴子吐了。  
20.说金钱是罪恶,都在捞;说美女是祸水,都想要;说高处不胜寒,都在爬;说烟酒伤身体,都不戒;说天堂最美好,都不去! 
21.强烈抗议广告时间插播电视剧!
22.西游记告诉我们:凡是有后台的妖怪都被接走了,凡是没后台的都被一棒子打死了。
23.名花虽有主,我来松松土!  
24. 对不起!我已经死了!不过谢谢你来看我!今天晚上12点我也去看你!
25.我喝酒是想把痛苦溺死,但这该死的痛苦却学会了游泳。
26.数据显示,2008年中国男性占全国总人口的52%,女性占43%。 (天涯-柴哥的经典作,太他妈强悍了)  
27.你想发财吗?你想交桃花运吗?你想当官吗?你想一夜成名吗?你想永葆青春吗?
----不要瞎想了,好好学习吧!
28.执子之手,方知子丑,泪流满面,子不走我走。


29.孤单是一个人的狂欢,狂欢是一群人的孤单 
30. 一定要糊涂,不要追求真理,真理是婊子!
31.雷锋做了好事不留名,但是每一件事情都记到日记里面。
32.爱人是路,朋友是树,人生只有一条路,一条路上多棵树,有钱的时候别迷路,缺钱的时候靠靠树,幸福的时候莫忘路,休息的时候浇浇树。
33.铁杵能磨成针,但木杵只能磨成牙签,材料不对,再努力也没用。
34.鸳鸯戏水,都他妈淹死;比翼双飞,都他妈摔死。
36.我左青龙,右白虎,肩膀纹个米老鼠。
37.我的原则是:人不犯我,我不犯人;人若犯我,我就生气!
38.我慢慢发现,人才是妖精!有些妖精吃人,但人什么都吃,逮着一只妖精没准也能烧烤了!
39.听君一席话,圣斗士念书。


40.世事往往如此,想回头也已经来不及,即使你肯沦为劣马,不一定有回头草在等着你。
41.地理老师:如果地球不转了,我们的世界将会如何?
小B同学:就算地球不转了,我们还是要围着以胡主席为中心的党中央继续转
42.你看,人世间总有那么多的事情让你伤感:阴晴圆缺,悲欢离合,阳痿早泄。。。。
44.炮轰的脑袋还梳个雷劈的逢。
45.爱是一种奢侈品。如同巴黎橱窗里的狐皮大衣,那么眩目、那么迷人,可是上面的标价会让人清醒过来。爱亦是奢侈品,只能远远的看着,别幻想或触摸它因为那需要合适的时间、合适的人相遇在合适的地点,缺一不可。
46.出问题先从自己身上找原因,别一便秘就怪地球没引力。
47.虽然我长的不是很帅,但小时候也有人夸我左边鼻孔很偶像派。
48.闺女,要适当吃一点才有劲减肥啊。
49.春天是感冒和感情高发的季节。有人不小心感冒了,有人不小心恋爱了,我属于前者。
50.我当年也是个痴情的种子,结果下了场雨,淹死了。
51.红杏不出墙,坚决拽出来。
52.我允许你走进我的世界,但绝不允许你在我的世界里走来走去。
53.就算我是一只癞蛤蟆,我也坚决不娶母癞蛤蟆。


54.令人不能自拔的,除了牙齿还有爱情。
55.钱可以买房子但买不到家,可以买婚姻但买不到爱情,可以买钟表但买不到时间,钱不是一切,反而是痛苦的根源。把你的钱给我,让我一个人承担痛苦吧!
56.男孩穷着养,不然不晓得奋斗:女孩富着养,不然人家一块蛋糕就哄走了。
57.年轻的时候,我们常常冲着镜子做鬼脸;年老的时候,镜子算是扯平了。
58.我以后生个儿子名字要叫“好帅”,那别人看到我就会说:“好帅的爸爸!”
59. 曾经我们都以为自己可以为爱情死,其实爱情死不了人,它只会在最疼的地方扎上一针,然后我们欲哭无泪,我们辗转反侧,我们久病成医,我们百炼成钢。你不是风儿,我也不是沙,再缠绵也到不了天涯,擦干了泪,明天早上,我们都要上班。
60. 幸福就是:我饿了,看见别人手里拿个肉包子,他就比我幸福;我冷了,看见别人穿了一件厚棉袄,他就比我幸福;我想上茅房,就一个坑,你蹲那儿了,你就比我幸福。
61.每个人至少拥有一个梦想,有一个理由去坚强。
62. 5岁的女儿让老爸帮她做某事。老爸:“爸爸很累啦,你夸我两句吧,你夸我两句我就又有劲了。” 女儿:“老郑!”老爸:“哎!” 女儿:“你家妞妞长得可真漂亮啊。”
64.心若没有栖息的地方,到哪里都是在流浪!
65.大脑是最高贵的器官--因为是大脑告诉你的。
67.其实你我都一样,人人都在装,关键是要装像了,装圆了,有一个门槛,装成了就迈进去,成为传说中的性情中人,没装好,就卡在那里了。就是卡门。
68.工作的最高境界就是看着别人上班,领着别人的工资。
69.小时候不学习,妈妈说:“长大后让你嫁给卖猪肉的王老五。”现在我教育女儿: “好好学习,长大后才能嫁给卖猪肉的王老五。”
70.活了二十多年,没能为祖国、为人民做点什么,每思及此,伤心欲绝。
71.快乐?快还能感觉到乐?!
72.当生活心怀歹毒地将一切都搞成了黑色幽默,我顺水推舟把自己变成了一个受过高等教育的流氓。


73.妈妈说人生最好不要错过两样东西:最后一班回家的车和一个深爱你的人。
74.80后的重要任务就是制造08后。
75.人生没有彩排,每天都是直播,不仅收视率低,而且工资不高。
76.前途是光明的,道路是没有的。
77.谁说天下乌鸦一般黑?其实一个更比一个黑!
79.好想来一次安静的认真的努力的唐吉坷德式的单恋。
80.要不是为挣钱,脸要来做什么。
81.吃不到天鹅~我还不能吃只鸭子么~
82.长得像坨屎也就算了,为什么非要做一坨屎?
85. 每天早上起来大吼一声:“操TMD的小日本。”这样既有益身体健康,又培养了爱国主义道德情操!


86.时间太瘦,指缝太宽。


87.小姑娘们梦中都想找一匹白马,睁开眼发现满世界都是灰不溜秋的驴,悲痛欲绝后,只能从驴群中挑个身强力壮的,这样的驴就被命名为:经济适用男。


88.我就要哭,我就要闹,一宿一宿不睡觉,手里拿瓶安眠药,拿根小绳要上吊。再丑也要谈恋爱,谈到世界充满爱.


89.我们的目标:向钱看,向厚赚。
90.小姐的胡须长得如此委婉,想必是位大家闺秀咯!
91.我是你转身就忘的路人甲,凭什么陪你蹉跎年华到天涯?


92.工作好有意思耶! 尤其是看着别人工作;
93.你被打胎后是怎么从垃圾桶里逃出来的?
94.没有医保和寿险的,天黑后不要见义勇为……


95.爱国爱家爱师妹,防贼防盗防师兄~
96.我真的不愿意用脚趾头鄙视你。但兄弟,是你逼我这么做的。
97.人生最残酷的地方是人只能年轻一次。
98.挤公交是包含散打、瑜珈、柔道、平衡木等多种体育和健身项目于一体的综合性运动。


99.大学的爱情纯真在于能够共同吃方便面,能够谦让着喝汤。


100.老娘法眼一开就知道你是个妖孽了。 
101. 手拿菜刀砍电线,一路火花带闪电。


102.单身并不难,难的是应付那些千方百计想让你结束单身的人。


103.念了十几年书,想起来还是幼儿园比较好混!
104. 有一天有个婆婆坐车;坐到中途婆婆不认识路了;婆婆用棍子打司机屁股说:这是哪?司机说:这是我屁股;
105. 人家有的是背景儿,我有的只是背影儿。
106. 娃娃问妈:“用ABCDEFG怎么造句?”妈:“A呀!这B孩子C家的呀?光着个脚站在D上,EF也不穿,还露着小GG…”


107.很多人说婚姻是爱情的坟墓,但是能够入土为安的爱情总比暴尸街头要好。
108. 众里寻他千百度,抬头一看,他在天上飞…鸟人一个!
109. 100年后中国牛B了,一帮没文化的美国人在抱怨中国“巨硬”公司开发的软件英文版发行太慢,以至于他们不得不使用非正式的英化版本。而且部分软件对英文的支持并不好。
110. 忙!超忙!超级忙!超级赛亚忙!


111.有空学风水去,死后占个好墓也算弥补了生前买不起好房的遗憾


112.据说,人只有两个选择,忙着死或是忙着活,我想我有了第三种选择:忙着等死。


113.思念不能自已,痛苦不能自理,结果不能自取,幸福不能自予。


114.如果你注定不能给予我期待的回应.那么就保持在安全距离之外吧。


115.请不要把我对你的容忍,当成你不要脸的资本


116.小时候我以为自己长大后可以拯救整个世界,等长大后才发现整个世界都拯救不了我。


117.女子无才便是德,我一定是太缺德了。


118.诸葛亮出山前也没带过兵啊,你们凭啥要我有工作经验。


119.老天,太蓝!大海,太咸!人生,太难!工作,太烦!和你,有缘!想你,失眠!见你,太远!


120. 这年头猪都涨价,还要我降价!?


121.一觉醒来,天都黑了。
122. 上班就是要发扬死猪不怕开水烫的精神!
123. 你们以后再这样,就别怪我翻脸不是人了!
124. 想干吗?就干吗!
125. 旺财,快来看啊,还有连你都不如的人类咧 !
126.当下属的时候自己当自己是龟孙子,当领导的时候别人当你是龟儿子。从孙子当到儿子,这个王八蛋真升职了。
127. 为什么要有高考?我想知道教育部部长,他高考考多少分?
128. 偷了我钱包的小偷翻开只看到五块钱潸然泪下感叹:“都不容易啊!”。
129. 喝药递瓶,上吊给绳,跳楼的挥着小手绢送行。


130.少年不胡作妄为,大胆放肆,试问老年时哪来的题材话当年。


131. 上惯了天涯:十几个朋友聚餐,刚上二楼楼梯口,见一男子扶着一孕妇下楼,走在前头的哥们赶紧往旁边一让,回头就是一句:“楼下保持队形!”
132. 隔壁那小子终于发誓要减肥了——毕业招聘会上,有人对他说了句:“哥们,让一下,你挡着我的手机信号了。”
133. 我坐在一块一亿五千万年的石头上,发了一个下午的呆…
134. 我那么漂亮,我不能死啊~~~~~
135. 左边脑袋是面粉,右边脑袋是水,一想问题,就满脑袋糨糊!


136.作为一个怪兽,我的愿望是至少消灭一个奥特曼


137.再过几十年我们来相会送到火葬场全部烧成灰你一堆我一堆谁也不认识谁全部送到农村做化肥~
138.学问之美,在于使人一头雾水;诗歌之美,在于煽动男女出轨;女人之美,在于蠢得无怨无悔;男人之美,在于说谎说得白日见鬼。
139.我以为我很颓废,今天我才知道,原来我早报废了。


140.不成熟男人的标志是可以为了理想壮烈的牺牲,成熟男人的标志的可以为了理想卑贱的活着。


141.人又不聪明,还学别人秃顶。


142.要努力!!为了你的奥迪我的迪奥。


143.我是白领:今天领了薪水,交了房租水电,买了油米泡面,摸了口袋,感叹一声,这个月工资又白领了…


144.执子之手,将子拖走。子说不走,好吧,关门放狗!


145.生活,就是这样.永远占领着绝对领导的位置,当无数的傻子高呼着自己控制了生活,掌握了命运.却没看到,生活在更高的苍穹上.露出讥笑的嘲讽的面孔。


146.他就是一盆水,倒入你的米堆里,若干年后,清水变成了醇香的酒,而你变成了一堆废弃的烂米,不是没用了,还可以拿来喂猪的。
147.不愿做奴隶的人民,愿做人民币的奴隶


148.生活二字二几十年来回味得我大小脑抽搐,脊髓痉挛。始终不得要领。


149.真的猛士,敢于直面自己未化妆的脸。


150.曾经和朋友一起仰望星空,随之我们泪流满面,他是因为失恋,我则是因为扭伤了脖子。

2009年7月29日星期三

UCENTER 1.5与discuz 6.1通讯中的BUG



Normal
0



7.8 磅
0
2

false
false
false

EN-US
ZH-CN
X-NONE




















MicrosoftInternetExplorer4





























































































































































/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:宋体;
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-font-kerning:1.0pt;}



症状:



         ucenter的后台应用管理里修改了设置或者新增了应用后,discuz后台ucenter设置中的ucenter地址会变成空,导致discuz无法正常访问ucenter,具体表现为用户短信无法打开,头像无法显示等。



 



分析与测试:



         Ucenterxml的方式传递数据给discuzdiscuz中相应的负责接收的程序为api/uc.php,该文件中看到这样一句:



$UC_API = $post['UC_API'];



         在此处,经测试发现,$post变量的数组值如下:



array (



  'item' =>



  array (



    '0_attr' =>



    array (



      'id' => '6',



    ),



    0 =>



    array (



      'item' =>



      array (



        '0_attr' =>



        array (



          'id' =>
'appid',



        ),



        0 => '6',



        '1_attr' =>



        array (



          'id' =>
'type',



        ),



        1 =>
'ECSHOP',



        '2_attr' =>



        array (



          'id' =>
'name',



        ),



        2 =>
'ECSHOP
网店',



        '3_attr' =>



        array (



          'id' =>
'url',



        ),



        3 =>
'http://workshop',



        '4_attr' =>



        array (



          'id' =>
'ip',



        ),



        4 => '',



        '5_attr' =>



        array (



          'id' =>
'viewprourl',



        ),



        5 =>
'/space.php?uid=%s',



        '6_attr' =>



        array (



          'id' =>
'apifilename',



        ),



        6 =>
'uc.php',



        '7_attr' =>



        array (



          'id' =>
'charset',



        ),



        7 => 'gbk',



        '8_attr' =>



        array (



          'id' =>
'synlogin',



        ),



        8 => '1',



        '9_attr' =>



        array (



          'id' =>
'extra',



        ),



        9 =>



        array (



          'item' =>
'',



          0 =>



          array (



            'id' =>
'apppath',



          ),



        ),



        '10_attr'
=>



        array (



          'id' =>
'recvnote',



        ),



        10 => '1',



      ),



    ),



    ......



    ......



    ......



    '6_attr' =>



    array (



      'id' =>
'UC_API',



    ),



    6 =>
'http://workuchome/ucenter',



  ),



)



         显然,$post['UC_API']得不到任何值。在uc.php中,又将获得的$UC_API写入config.inc.php文件中:



if(is_writeable(DISCUZ_ROOT.'./config.inc.php'))
{



       $configfile
= trim(file_get_contents(DISCUZ_ROOT.'./config.inc.php'));



       $configfile
= substr($configfile, -2) == '?>' ? substr($configfile, 0, -2) :
$configfile;



       $configfile
= preg_replace("/define\('UC_API',\s*'.*?'\);/i",
"define('UC_API', '$UC_API');", $configfile);



       if($fp
= @fopen(DISCUZ_ROOT.'./config.inc.php', 'w')) {



           @fwrite($fp,
trim($configfile));



           @fclose($fp);



       }



}



    这样的话,就造成config.inc.php文件中的UC_API变为空:



define('UC_API', '');



 



解决:



         uchomeapi/uc.php中,相应的代码是这样的:



$UC_API = '';



if($post['UC_API']) {



    $UC_API
= $post['UC_API'];



    unset($post['UC_API']);



}



……



……



if($UC_API &&
is_writeable(S_ROOT.'./config.php')) {



           $configfile
= trim(file_get_contents(S_ROOT.'./config.php'));



           $configfile
= substr($configfile, -2) == '?>' ? substr($configfile, 0, -2) :
$configfile;



           $configfile
= preg_replace("/define\('UC_API',\s*'.*?'\);/i",
"define('UC_API', '$UC_API');", $configfile);



           if($fp
= @fopen(S_ROOT.'./config.php', 'w')) {



              @fwrite($fp,
trim($configfile));



              @fclose($fp);



           }



}



    可以看出,这样的代码并不会更新config.inc.php文件,当然也不会出问题,故将discuzuc.php也改为上述形式。



    修改后经测试已

Normal
0



7.8 磅
0
2

false
false
false

EN-US
ZH-CN
X-NONE




















MicrosoftInternetExplorer4
















































































































<w:LsdException Locked="false"

2009年7月27日星期一

用户选择帖子列表排序方式后更改版面后失效的解决方案



Normal
0



7.8 磅
0
2

false
false
false

EN-US
ZH-CN
X-NONE




















MicrosoftInternetExplorer4





























































































































































/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:宋体;
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-font-kerning:1.0pt;}



症状:



         进入版面的主题列表后,默认按照回帖时间倒序排列,页面底部选择其他排序方式后(发表时间、浏览次数等),再进入其他版面或其他操作后选择的排序方式失效。



 



测试分析:



排序方式的参数以GET的方式跟在链接后面,如forumdisplay.php?fid=8&orderby=dateline&ascdesc=desc



如此来传递参数给下一页,但切换到其他版面时(或很多其他操作时)没有传递该参数,导致用户选择失效。



由于牵涉到的页面和链接众多,一一修改链接地址和函数会及其繁琐,故考虑将用户的选择存入cookie中,每次读取页面时都从cookie中取得该参数的替代方案。



 



解决:



         forumdisplay.php文件中,找到如下两行:



isset($orderby) && in_array($orderby, array('lastpost',
'dateline', 'replies', 'views')) ? $forumdisplayadd .=
"&amp;orderby=$orderby" : $orderby =
$_DCACHE['forums'][$fid]['orderby'] ? $_DCACHE['forums'][$fid]['orderby'] :
'lastpost';



 



isset($ascdesc) && in_array($ascdesc, array('ASC', 'DESC')) ?
$forumdisplayadd .= "&amp;ascdesc=$ascdesc" : $ascdesc =
$_DCACHE['forums'][$fid]['ascdesc'] ? $_DCACHE['forums'][$fid]['ascdesc'] :
'DESC';



 



注释掉这两行,并且改为:



//如果用户选择了排序方式



if (isset($orderby) && in_array($orderby,
array('lastpost', 'dateline', 'replies', 'views')))  {



    //(保留以防出错)



    $forumdisplayadd
.= "&amp;orderby=$orderby";



//将排序方式写入cookie



    dsetcookie('viewforumsorderby',
$orderby, 2592000);



}  



Else



    //cookie中有排序方式则按照该排序方式,否则按照该版面的默认设定的排序方式,如也不存在则按照默认排序(回帖时间)



    $orderby = $_DCOOKIE['viewforumsorderby']
? $_DCOOKIE['viewforumsorderby'] : ($_DCACHE['forums'][$fid]['orderby']
? $_DCACHE['forums'][$fid]['orderby'] : 'lastpost');



   



//升序/降序类似



if (isset($ascdesc) && in_array($ascdesc,
array('ASC', 'DESC')))



{



    $forumdisplayadd
.= "&amp;ascdesc=$ascdesc";



    dsetcookie('viewforumsascdesc',
$ascdesc, 2592000);



}



else



    $ascdesc = $_DCOOKIE['viewforumsascdesc']
? $_DCOOKIE['viewforumsascdesc'] : ($_DCACHE['forums'][$fid]['ascdesc']
? $_DCACHE['forums'][$fid]['ascdesc'] : 'DESC');



 



改完测试发现所有主题列表页面均能按照用户选择正常显示。

2009年7月23日星期四

DISCUZ 每日会员数不自动更新 的研究



Normal
0



7.8 磅
0
2

false
false
false

EN-US
ZH-CN
X-NONE




















MicrosoftInternetExplorer4





























































































































































/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:宋体;
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-font-kerning:1.0pt;}






症状:



Discuz 6.1 计划任务每日会员数不自动更新,需要后台更新数据缓存后才更新
如直接后台计划任务中相关计划中的“执行”按钮可以正常更新。



 



测试分析:



后台discuz自带的计划任务中建立一个测试任务test,该任务中直接运行相关更新函数:
updatecache('settings');仍然无效



查看cdb_caches中的settings变量中的totalmembers数值已更新,但缓存文件forumdata/cache/cache_settings.php中的totalmembers数值未更新。



分析程序include/cache.func.php中的updatecache函数先通过getcachearray函数取得所有需要更新的数值,并插入数据库,然后再从数据库中取得所有需要更新的变量的值,通过writetocache函数写入相关缓存文件中。



既然是这样,为何数据库中的值正确,但文件中却不正确呢?百思不得其解。发现文件建立时间已经更新,排除了文件权限问题。



再通过插入file_put_contents函数,让相关变量写入指定文件中来调试:



if ($script == "settings")



    file_put_contents("temp/updatecache_$script.txt",$cachedata);



writetocache($script, $cachenames, $cachedata);



 



function writetocache($script, $cachenames, $cachedata = '', $prefix = 'cache_')
{



if ($script == "settings")



    file_put_contents("temp/writecache_settings.txt", $cachedata);



……



……



}



 



如此测试发现 updatecache_settings.txt文件中数值正确,但writecache_settings.txt中不正确,这就更加奇怪了,为何调用writetocache前数值还是对的,进入writetocache函数后数值就变了?不可能啊!



只有一种可能:writecache_settings.txt文件又被覆盖了。



再次尝试在文件名后加上随机数发现果然有两个writecache_settings.txt,一个正确,一个不正确。



于是再次查看程序,发现include/cron.func.php中的runcron函数中在include $cronfile后有着这么一段:



$nextrun = $db->result_first("SELECT
nextrun FROM {$tablepre}crons WHERE available>'0' ORDER BY nextrun LIMIT
1");



    if(!$nextrun ===
FALSE) {



       require_once DISCUZ_ROOT.'./include/cache.func.php';



       $_DCACHE['settings']['cronnextrun']
= $nextrun;



       updatesettings();



}



查看updatesettings()函数:



function updatesettings() {



    global $_DCACHE;



    if(isset($_DCACHE['settings'])
&& is_array($_DCACHE['settings'])) {



       writetocache('settings',
'', '$_DCACHE[\'settings\'] = '.arrayeval($_DCACHE['settings']).";\n\n");



    }



}



果然,再次把$_DCACHE['settings']写入缓存文件中,而$_DCACHE['settings']在刚才并没有被更新,终于找到问题所在。



 



解决:



cache.func.php中的getcachearray函数中加入:



switch($cachename) {



       case 'settings':



           ……



           ……



           $_DCACHE['settings'] = $data;



           Break;



 



并且记得在该函数头部global $_DCACHE;



让程序在取得所有数据后 更新缓存变量$_DCACHE,以便runcron函数中调用updatesettings函数时能够将更新过的$_DCACHE写入缓存文件中。



 



测试ok,问题解决。

2009年7月22日星期三

关于zend guard各版本对php源文件的加解密的研究

测试一个php程序文件用zend safeguard 3.6加密后   在该网站:http://www.showmycode.com/解密  100%还原

<?php

/*
    [Discuz!] (C)2001-2007 Comsenz Inc.
    This is NOT a freeware, use is subject to license terms

    $Id$
*/
if(!defined('IN_DISCUZ')) {
    exit('Access Denied');
}
require_once DISCUZ_ROOT.'./include/cache.func.php';
updatecache('settings');
$db->query("UPDATE {$tablepre}advertisements SET available='0' WHERE endtime>'0' AND endtime<='$timestamp'", 'UNBUFFERED');
if($db->affected_rows()) {
    updatecache(array('advs_archiver', 'advs_register', 'advs_index', 'advs_forumdisplay', 'advs_viewthread'));
}
$db->query("TRUNCATE {$tablepre}searchindex");
$db->query("DELETE FROM {$tablepre}threadsmod WHERE dateline<'$timestamp'-31536000", 'UNBUFFERED');
$db->query("DELETE FROM {$tablepre}subscriptions WHERE lastpost<'$timestamp'-7776000", 'UNBUFFERED');
$db->query("DELETE FROM {$tablepre}forumrecommend WHERE expiration<'$timestamp'", 'UNBUFFERED');

if($qihoo['status'] && $qihoo['relatedthreads']) {
    $db->query("DELETE FROM {$tablepre}relatedthreads WHERE expiration<'$timestamp'", 'UNBUFFERED');
}

$db->query("UPDATE {$tablepre}trades SET closed='1' WHERE expiration<>0 AND expiration<'$timestamp'", 'UNBUFFERED');
$db->query("DELETE FROM {$tablepre}tradelog WHERE status=0 AND lastupdate<'".($timestamp - 5 * 86400)."'", 'UNBUFFERED');

if($cachethreadon) {
    removedir($cachethreaddir, TRUE);
}

if($regstatus > 1) {
    $db->query("UPDATE {$tablepre}invites SET status='4' WHERE expiration<'$timestamp' AND status IN ('1', '3')");
}

?>


用5.0.1试用版加密后 解密仅有少数函数名,5%左右  如下
<?php
updatecache( );
( );
updatecache( );
( );
( );
( );
( );
( );
( );
( );
removedir( );
( );
?>

用4.0.1破解版加密 (用的是strong的模式)  解密95%  部分函数名未能解密
<?php
if ( defined( "IN_DISCUZ" ) )
{
exit( "Access Denied" );
}
require_once( DISCUZ_ROOT."./include/cache.func.php" );
_obfuscate_DQ9uFl9pbTBdemw�( "settings" );
$db->query( "UPDATE ".$tablepre."advertisements SET available='0' WHERE endtime>'0' AND endtime<='{$timestamp}'", "UNBUFFERED" );
if ( $db->_obfuscate_M3V4aHc2bwENBHl1aA��( ) )
{
_obfuscate_DQ9uFl9pbTBdemw�( array( "advs_archiver", "advs_register", "advs_index", "advs_forumdisplay", "advs_viewthread" ) );
}
$db->query( "TRUNCATE ".$tablepre."searchindex" );
$db->query( "DELETE FROM ".$tablepre."threadsmod WHERE dateline<'{$timestamp}'-31536000", "UNBUFFERED" );
$db->query( "DELETE FROM ".$tablepre."subscriptions WHERE lastpost<'{$timestamp}'-7776000", "UNBUFFERED" );
$db->query( "DELETE FROM ".$tablepre."forumrecommend WHERE expiration<'{$timestamp}'", "UNBUFFERED" );
if ( $qihoo['status'] && $qihoo['relatedthreads'] )
{
$db->query( "DELETE FROM ".$tablepre."relatedthreads WHERE expiration<'{$timestamp}'", "UNBUFFERED" );
}
$db->query( "UPDATE ".$tablepre."trades SET closed='1' WHERE expiration<>0 AND expiration<'{$timestamp}'", "UNBUFFERED" );
$db->query( "DELETE FROM ".$tablepre."tradelog WHERE status=0 AND lastupdate<'".( $timestamp - 432000 )."'", "UNBUFFERED" );
if ( $cachethreadon )
{
_obfuscate_FnNlawhuLXQF( $cachethreaddir, TRUE );
}
if ( 1 < $regstatus )
{
$db->query( "UPDATE ".$tablepre."invites SET status='4' WHERE expiration<'{$timestamp}' AND status IN ('1', '3')" );
}
?>

encode 和 basic模式 100%解开



2009年7月16日星期四

这鸡蛋真难吃。

这鸡蛋真难吃



A:这鸡蛋真难吃。

[ 转自铁血社区 http://bbs.tiexue.net/ ]

B:隔壁家那鸭蛋更难吃,你咋不说呢?



A:这鸡蛋真难吃。

B:这比隔壁家那鸭蛋好吃五倍!



A:这鸡蛋真难吃。

B:请拿出建设性的意见来,有本事你下个好吃的蛋来。



A:这鸡蛋真难吃。

[ 转自铁血社区 http://bbs.tiexue.net/ ]

B:你这么说是什么居心什么目的?



A:这鸡蛋真难吃。

B:你说说他那里难吃了?我觉得很好啊。



A:这鸡蛋真难吃。

B:我怀疑你是轮子。



A:这鸡蛋真难吃。

[ 转自铁血社区 http://bbs.tiexue.net/ ]

B:自己家鸡下的蛋都说不好吃,你还是不是人。



A:这鸡蛋真难吃

B:这只鸡蛋生在生你养你的鸡窝,你还爱不爱鸡窝了?不爱就滚到其它鸡窝去。



A:这鸡蛋真难吃

B:你是不是对咱们鸡窝不满?咱们鸡窝白养活你了,滚。



A:这鸡蛋真难吃。

[ 转自铁血社区 http://bbs.tiexue.net/ ]

B:下蛋的是一只勤劳勇敢善良正直的鸡。



A:这鸡蛋真难吃。

B:这是爱国鸡下的蛋,怎么会难吃呢?



A:这鸡蛋真难吃。

B:比前年的蛋已经进步很多了。



A:这鸡蛋真难吃。

[ 转自铁血社区 http://bbs.tiexue.net/ ]

B:近30年来,鸡蛋的味道已经好很多了。



A:这鸡蛋真难吃。

B:你就是吃这鸡蛋长大的,忘恩负义啊!



A:这鸡蛋真难吃。

B:该用户发言已被管理员屏蔽



A:这鸡蛋真难吃。

[ 转自铁血社区 http://bbs.tiexue.net/ ]

B:光抱怨有什么用,有这个时间还不如努力去赚钱。



A:这鸡蛋真难吃。

B:台湾网T,这里不欢迎你。



A:这鸡蛋真难吃。

B:你心理阴暗,连鸡蛋不好吃也要发牢骚。



A:这鸡蛋真难吃。

[ 转自铁血社区 http://bbs.tiexue.net/ ]

B:该鸡蛋被一小撮不会下蛋的母鸡煽动导致变臭。



A:这鸡蛋真难吃。

B:这是近日网上有人别有用心的造谣。



A:这鸡蛋真难吃。

B:你是少数不明真相的人,怎么可能难吃呢?



A:这鸡蛋真难吃。

[ 转自铁血社区 http://bbs.tiexue.net/ ]

B:国富民强,你咋不换鸡肉吃?



A:这鸡蛋真难吃。

B:吃吧孩子,你才吃过几颗鸡蛋?



A:这鸡蛋真难吃。

B:谁让你不幸吃到这颗鸡蛋的。



A:这鸡蛋真难吃。

[ 转自铁血社区 http://bbs.tiexue.net/ ]

B:小日本滚出中国!!!



A:这鸡蛋真难吃。

B:你反华!



A:这鸡蛋真难吃。

B: 李四家的鸡蛋也不是个个都好吃。



A:这鸡蛋真难吃。

[ 转自铁血社区 http://bbs.tiexue.net/ ]

B: 嫌难吃,去你美国主子那里吃去吧。



A:这鸡蛋真难吃。

B:世界上没有绝对的好蛋,印度鸡蛋好吃,你去吧。



A:这鸡蛋真难吃。

B:不是老毛,你现在臭鸡蛋都吃不上。



A:这鸡蛋真难吃。

[ 转自铁血社区 http://bbs.tiexue.net/ ]

B:大家小心,此人IP在国外。



A:这鸡蛋真难吃

B:反鸡窝份子,我已经举报你了,快收拾铺盖跑路。



A:这鸡蛋真难吃。

B:再怎么说也是自己家的鸡下的蛋,子不嫌母丑,狗不嫌家贫!



A:这鸡蛋真难吃。

[ 转自铁血社区 http://bbs.tiexue.net/ ]

B:从鸡屁股里面出来的就是合理的。



A:这鸡蛋真难吃。

B:中国的鸡蛋就难吃,日本的鸡蛋就好吃?汉奸!



A:这鸡蛋真难吃。

B:中国的鸡蛋就难吃,美国的鸡蛋就好吃?卖国贼!



A:这鸡蛋真难吃。

[ 转自铁血社区 http://bbs.tiexue.net/ ]

B:台湾的鸡蛋好吃,你去呀,看不核平了你!



A:这鸡蛋真难吃。

B:中国的鸡蛋已经可以打败美国的鸭蛋,自豪!



A:这鸡蛋真难吃。

B:祖国的鸡生的蛋,再难吃我也不嫌弃!



A:这鸡蛋真难吃。

[ 转自铁血社区 http://bbs.tiexue.net/ ]

B:外国主子给你多少钱,你在这儿胡说?



A:这鸡蛋真难吃。

B:你竟敢说我们养鸡场的鸡蛋难吃?你站在谁的立场上说话?



A:这鸡蛋真难吃。

B:端起碗吃蛋,放下筷子骂娘,不知好歹,忘恩负义,无耻!



A:这鸡蛋真难吃。

[ 转自铁血社区 http://bbs.tiexue.net/ ]

B:难吃的鸡蛋是极少数,绝大多数鸡蛋是好的,是优秀的,是经得起考验的!



A:这鸡蛋真难吃。

B:这是少数不法分子在蒙蔽不明真相的群众!



A:这鸡蛋真难吃。

B:这是别有用心的煽动,你想干什么?



A:这鸡蛋真难吃。

[ 转自铁血社区 http://bbs.tiexue.net/ ]

B:这是谣言,我可以负责任地说,我们的鸡蛋都是合格的!



A:这鸡蛋真难吃。

B:这是没有根据的,希望媒体能客观报导。



A:这鸡蛋真难吃。

B:我看,有些人的鸡蛋不怎么样,我们的鸡蛋好五倍!



A:这鸡蛋真难吃。

[ 转自铁血社区 http://bbs.tiexue.net/ ]

B:正确的导向是我们养鸡场之福,错误的导向是我们养鸡场之祸!



A:这鸡蛋真难吃。

B:我们养鸡场处于初级阶段,必须坚持基本养鸡方法二十年不动摇!



A:这鸡蛋真难吃。

B:我们要建设有自己特色的养鸡场,让母鸡下出有自己特色的蛋!



A:这鸡蛋真难吃。

[ 转自铁血社区 http://bbs.tiexue.net/ ]

B:你这意思是不准大家吃蛋,大家以后只能饿死?



A:这鸡蛋真难吃

B:咱家人口多,底子薄,鸡只能下这种蛋。



A:这鸡蛋真难吃。

B:因为母鸡正在下一盘很大的棋…



A:这鸡蛋真难吃。

[ 转自铁血社区 http://bbs.tiexue.net/ ]

B:你不懂,这是充满了咱家特色的鸡蛋。



A:这鸡蛋真难吃。

B:你不懂,咱家鸡窝环境特殊,就只能下这种蛋。



A:这鸡蛋真难吃。

B:你的身体素质不好,就只能吃这种蛋。



A:这鸡蛋真难吃。

[ 转自铁血社区 http://bbs.tiexue.net/ ]

B:世界上没有好吃的鸡蛋,这颗是最适合你的。



A:这鸡蛋真难吃。

B:宰了那些说鸡蛋不好吃的人我愿意捐一个月工资!



A:这鸡蛋真难吃。

B:奥运会期间鸡蛋是不可能难吃的。



A:这鸡蛋真难吃。

[ 转自铁血社区 http://bbs.tiexue.net/ ]

B:是中国人的就进来顶,说鸡蛋好吃。



A:这鸡蛋真难吃。

B:你胡说,中国13亿人民都说好吃。



A:这鸡蛋真难吃。

B:身在福中不知福,在旧社会你还没得吃呢。



A:这鸡蛋真难吃。

[ 转自铁血社区 http://bbs.tiexue.net/ ]

B:这是一小撮没吃过鸡蛋的人乱造谣。



A:这鸡蛋真难吃。

B:不准泄漏国家机密!



A:这鸡蛋真难吃。

B:鸡窝主人正加紧改良,我相信在不久的将来一定会吃上好蛋的。



A:这鸡蛋真难吃。

[ 转自铁血社区 http://bbs.tiexue.net/ ]

B:人口那么多,一人一颗蛋不容易啊。啥?隔壁?隔壁是当年把母鸡都带过去了,所以鸡蛋才下得多。



A:这鸡蛋真难吃。

B:到目前为止,我没发现这鸡蛋难吃。专家说了,这鸡蛋难吃的可能性不大。即使出现这种情况,也是结构性难吃。



A:这鸡蛋真难吃。

B:你撒谎,鸡窝主人说这鸡蛋很好吃。



A:这鸡蛋真难吃。

[ 转自铁血社区 http://bbs.tiexue.net/ ]

B:解决难吃的问题已经取得阶段性的胜利。