<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>&#34;刘华栋&#34;的个人网站 &#187; 不知所云</title>
	<atom:link href="http://www.liuhuadong.com/archives/category/%e4%b8%8d%e7%9f%a5%e6%89%80%e4%ba%91/feed" rel="self" type="application/rss+xml" />
	<link>http://www.liuhuadong.com</link>
	<description>我的日子依旧很简单，梦想一直没改变</description>
	<lastBuildDate>Thu, 29 Jul 2010 22:36:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>你是不是有强迫症</title>
		<link>http://www.liuhuadong.com/archives/981/index.html</link>
		<comments>http://www.liuhuadong.com/archives/981/index.html#comments</comments>
		<pubDate>Thu, 29 Jul 2010 00:37:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[不知所云]]></category>

		<guid isPermaLink="false">http://www.liuhuadong.com/?p=981</guid>
		<description><![CDATA[突然发现，我竟然有强迫症倾向。症状是，常在桌面毫无意义的使用刷新功能；常在putty下重复执行cd和ls命令；总是在汉字输入后要进行输入法切换。哎，我的个神。。 当下列一条或一条以上的症状持续存在影响正常生活时，可能有强迫症： 　　经常对病菌和各种疾病敏感，并毫无必要的担心； 　　经常反复洗手而且洗手的时间很长，超过正常所需要； 　　有时会毫无原因的重复相同的话语好几次； 　　觉得自己穿衣，清洗，吃饭，走路时要遵循特殊的顺序； 　　经常没有必要地反复做某些事情，例如检查门窗，开关，煤气，钱物，文件，表格，信件等； 　　对自己做的大多数事情都要产生怀疑； 　　经常不自觉地去想一些不愉快的回忆或想法，使人不能摆脱； 　　经常认为自己的细小的差错就会引起灾难性的后果； 　　时常无原因地担心自己患了某种疾病； 　　时常无原因地计数或多次吟唱某一段歌曲； 　　在某些场合，很害怕做出尴尬的事； 　　当看到刀，匕首和其他尖锐物品时会感到心烦意乱； 　　为要完全记住一些不重要的事情而困扰； 　　有时会毫无原因的破坏某些物品，或伤害他人； 　　在某些场合，即使当时生病了，也想暴食一顿； 　　当听到自杀，犯罪或生病这类事情时，会心烦意乱很长时间，很难不去想它。]]></description>
			<content:encoded><![CDATA[<p>突然发现，我竟然有强迫症倾向。症状是，常在桌面毫无意义的使用刷新功能；常在putty下重复执行cd和ls命令；总是在汉字输入后要进行输入法切换。哎，我的个神。。</p>
<p>当下列一条或一条以上的症状持续存在影响正常生活时，可能有强迫症：<br />
　　经常对病菌和各种疾病敏感，并毫无必要的担心；<br />
　　经常反复洗手而且洗手的时间很长，超过正常所需要；<br />
　　有时会毫无原因的重复相同的话语好几次；<br />
　　觉得自己穿衣，清洗，吃饭，走路时要遵循特殊的顺序；<br />
　　经常没有必要地反复做某些事情，例如检查门窗，开关，煤气，钱物，文件，表格，信件等；<br />
　　对自己做的大多数事情都要产生怀疑；<br />
　　经常不自觉地去想一些不愉快的回忆或想法，使人不能摆脱；<br />
　　经常认为自己的细小的差错就会引起灾难性的后果；<br />
　　时常无原因地担心自己患了某种疾病；<br />
　　时常无原因地计数或多次吟唱某一段歌曲；<br />
　　在某些场合，很害怕做出尴尬的事；<br />
　　当看到刀，匕首和其他尖锐物品时会感到心烦意乱；<br />
　　为要完全记住一些不重要的事情而困扰；<br />
　　有时会毫无原因的破坏某些物品，或伤害他人；<br />
　　在某些场合，即使当时生病了，也想暴食一顿；<br />
　　当听到自杀，犯罪或生病这类事情时，会心烦意乱很长时间，很难不去想它。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liuhuadong.com/archives/981/index.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>This Time For Africa</title>
		<link>http://www.liuhuadong.com/archives/943/index.html</link>
		<comments>http://www.liuhuadong.com/archives/943/index.html#comments</comments>
		<pubDate>Mon, 28 Jun 2010 17:33:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[不知所云]]></category>

		<guid isPermaLink="false">http://www.liuhuadong.com/?p=943</guid>
		<description><![CDATA[昨晚在大屏幕看到一个美女，唱了首人间，还有一首歌很不错，可惜没记住名字。遗憾的是不太喜欢表演完她竟然在下边抽起烟来，有点小失望]]></description>
			<content:encoded><![CDATA[<p>昨晚在大屏幕看到一个美女，唱了首人间，还有一首歌很不错，可惜没记住名字。遗憾的是不太喜欢表演完她竟然在下边抽起烟来，有点小失望<br />
<img src="http://www.liuhuadong.com/wp-content/uploads/2010/06/IMAG0517.JPG" alt="IMAG0517" title="IMAG0517" width="500"  class="alignnone size-full wp-image-944" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.liuhuadong.com/archives/943/index.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>开始android之旅</title>
		<link>http://www.liuhuadong.com/archives/924/index.html</link>
		<comments>http://www.liuhuadong.com/archives/924/index.html#comments</comments>
		<pubDate>Sun, 13 Jun 2010 14:26:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[不知所云]]></category>

		<guid isPermaLink="false">http://www.liuhuadong.com/?p=924</guid>
		<description><![CDATA[入手htc desire，开始android之旅：]]></description>
			<content:encoded><![CDATA[<p>入手htc desire，开始android之旅：<br />
<img src="http://www.liuhuadong.com/wp-content/uploads/2010/06/未命名.JPG" alt="未命名" title="未命名" width="500" class="alignnone size-full wp-image-925" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.liuhuadong.com/archives/924/index.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>我希望的世界</title>
		<link>http://www.liuhuadong.com/archives/920/index.html</link>
		<comments>http://www.liuhuadong.com/archives/920/index.html#comments</comments>
		<pubDate>Sun, 23 May 2010 05:54:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[不知所云]]></category>

		<guid isPermaLink="false">http://www.liuhuadong.com/?p=920</guid>
		<description><![CDATA[读高中的时候，“新概念”作文正是开始的时候，记忆特别深刻，第一名的作者是某校的“韩寒”，作文名字叫杯中窥人，当时就专门买了本新概念作文回来，就为了看一下这篇文章，一看才知原来自己才疏学浅到如此地步。 10年后，那个叫韩寒的成了全球最有影响力的人物之一。前几天韩寒发表的这段话我又开始记忆深刻了： “不通过房地产或者卖地，不通过低端的加工业，一样有高GDP，而且是人均。好人不翻墙，坏人进监狱，有影响世界的文化，有别国模仿的文艺，一样干净的环境，一样自由的空气，看着被关进笼子的权力，把酒言欢，言无不尽。”]]></description>
			<content:encoded><![CDATA[<p>读高中的时候，“新概念”作文正是开始的时候，记忆特别深刻，第一名的作者是某校的“韩寒”，作文名字叫杯中窥人，当时就专门买了本新概念作文回来，就为了看一下这篇文章，一看才知原来自己才疏学浅到如此地步。<br />
10年后，那个叫韩寒的成了全球最有影响力的人物之一。前几天韩寒发表的这段话我又开始记忆深刻了：<br />
<code>“不通过房地产或者卖地，不通过低端的加工业，一样有高GDP，而且是人均。好人不翻墙，坏人进监狱，有影响世界的文化，有别国模仿的文艺，一样干净的环境，一样自由的空气，看着被关进笼子的权力，把酒言欢，言无不尽。”</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.liuhuadong.com/archives/920/index.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>思考的时间</title>
		<link>http://www.liuhuadong.com/archives/919/index.html</link>
		<comments>http://www.liuhuadong.com/archives/919/index.html#comments</comments>
		<pubDate>Tue, 18 May 2010 13:05:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[不知所云]]></category>

		<guid isPermaLink="false">http://www.liuhuadong.com/archives/919/index.html</guid>
		<description><![CDATA[如果一天花两个小时在公交车上度过，思考的时间就来了。我很庆幸终于有时间思考一下我原本感兴趣却没时间思考的问题了。]]></description>
			<content:encoded><![CDATA[<p>如果一天花两个小时在公交车上度过，思考的时间就来了。我很庆幸终于有时间思考一下我原本感兴趣却没时间思考的问题了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liuhuadong.com/archives/919/index.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>无语</title>
		<link>http://www.liuhuadong.com/archives/908/index.html</link>
		<comments>http://www.liuhuadong.com/archives/908/index.html#comments</comments>
		<pubDate>Fri, 30 Apr 2010 02:40:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[不知所云]]></category>

		<guid isPermaLink="false">http://www.liuhuadong.com/?p=908</guid>
		<description><![CDATA[感冒，去诊所拿了一堆药，回来一看，里面赫然躺着一瓶眼药水。 tnnd！]]></description>
			<content:encoded><![CDATA[<p>感冒，去诊所拿了一堆药，回来一看，里面赫然躺着一瓶眼药水。<br />
tnnd！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liuhuadong.com/archives/908/index.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>中国移动飞信通信协议分析</title>
		<link>http://www.liuhuadong.com/archives/867/index.html</link>
		<comments>http://www.liuhuadong.com/archives/867/index.html#comments</comments>
		<pubDate>Mon, 12 Apr 2010 18:13:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP/Mysql]]></category>
		<category><![CDATA[不知所云]]></category>

		<guid isPermaLink="false">http://www.liuhuadong.com/?p=867</guid>
		<description><![CDATA[作者：刘华栋 2010.4.13 本文目的在于探讨学习，请勿用于非学习外的任何用途，否则后果自负。 出于某些需求，要用到手机短信提醒功能，自然还是免费的好。网上流传了很多版本关于飞信的通信协议，大同小异（基本都是基于2.0的，飞信现在2010协议版本为4.0），当飞信更新了一部分协议内容时，这些流行的协议似乎有些问题出现，最典型的就是： 旧版本飞信协议支持输入任何手机号码，只要是发送者好友，即可发送手机短信。新版本飞信协议支持输入任何飞信号码，只要是发送者好友，即可发送手机短信。新旧版本都支持发送登陆者自身手机号码为接收手机的短信。 如果我有100个飞信好友，莫非我要记住100个飞信号码？如果我要提供一个飞信接口给大伙，莫非大伙要记住他们好友的飞信号码？ 当然，写本文的目的就在于从根本上解决上述两个问题（其实是一回事）。 通过对飞信协议多个版本进行了抓包分析，发现数据包格式没什么大的变化。唯一重要的变化是第五行： M fetion.com.cn SIP-C/4.0F:88888888I: 10 Q: 2 MT: sip:99999999@fetion.com.cn;p=640//上面一行旧版本协议这里是://T: tel:13599999999C: text/plainK: SaveHistoryL: 4 这里就出现一个问题，要想发送手机短信，提交过来手机号不行，需要提交手机号对应的飞信号码才能识别，如何才能把手机号码转换为飞信号码就是解决问题的关键。经对新协议抓包分析，发现并不能直接从手机号码转换成飞信号码，但是中间有一个很不错的变量叫做&#8221;user-id&#8221;，每个手机号对应一个飞信号码，同样对应每个user-id（至于为什么会多出来一个user-id，我想可能是飞信公司准备把飞信号码当做一种商业资源来使用吧）。其实我们用户的真正的飞信号码是这个user-id，所谓飞信号码，无非是一个数字昵称(another nickname)而已。明白这些，问题就好办了： 1.发送接收者手机号码，抓包获取该号码的user-id；2.发送请求好友列表信息（登陆后自动完成）；3.匹配1中user-id，对应的飞信号码(注意格式:fetion_num@fetion.com.cn)；4.发送飞信号码、短信内容，Done 具体代码省略，关键正则函数： //获取飞信号码function get_fetion_id($userid, $rst) {&#160;&#160; &#160;preg_match(&#34;/ri=\&#34;sip:(\d{6,10}+)@fetion.com.cn;p=(\d{0,6}+)\&#34;&#160;&#160; &#160; &#160; &#160;user-id=\&#34;$userid/i&#34;,$rst, $matches);&#160;&#160; &#160;//同理重构函数获取user-id&#160;&#160; &#160;//preg_match(&#34;/user-id=\&#34;([0-9]+)\&#34;/i&#34;, $rst, $matches);&#160;&#160; &#160;return $matches[1];} 这样同样还会存在一个问题：给自己手机号码发送的时候转换不到自己的自己的user-id。解决办法也很简单，只需要在手机号码提交过来最初判断一下是否为登陆号码即可，如果是，取消所有转换，直接进行第4步骤即可发送。 纸上谈兵无用，演示： Demo1：http://www.liuhuadong.com/phoneme Demo2：http://labs.liuhuadong.com/cmcc/index.php(暂无，睡醒后继续) QQREADERC927A243851272DC]]></description>
			<content:encoded><![CDATA[<p>作者：<strong>刘华栋</strong> 2010.4.13<br />
本文目的在于探讨学习，请勿用于非学习外的任何用途，否则后果自负。</p>
<p>出于某些需求，要用到手机短信提醒功能，自然还是免费的好。网上流传了很多版本关于飞信的通信协议，大同小异（基本都是基于2.0的，飞信现在2010协议版本为4.0），当飞信更新了一部分协议内容时，这些流行的协议似乎有些问题出现，最典型的就是：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Gray;">旧版本飞信协议支持输入任何手机号码，只要是发送者好友，即可发送手机短信。<br />新版本飞信协议支持输入任何飞信号码，只要是发送者好友，即可发送手机短信。<br />新旧版本都支持发送登陆者自身手机号码为接收手机的短信。</span></div></div>
<p>如果我有100个飞信好友，莫非我要记住100个飞信号码？如果我要提供一个飞信接口给大伙，莫非大伙要记住他们好友的飞信号码？<br />
当然，写本文的目的就在于从根本上解决上述两个问题（其实是一回事）。</p>
<p>通过对飞信协议多个版本进行了抓包分析，发现数据包格式没什么大的变化。唯一重要的变化是第五行：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Blue;">M</span><span style="color: Gray;"> </span><span style="color: Blue;">fetion</span><span style="color: Gray;">.</span><span style="color: Blue;">com</span><span style="color: Gray;">.</span><span style="color: Blue;">cn</span><span style="color: Gray;"> </span><span style="color: Blue;">SIP</span><span style="color: Gray;">-</span><span style="color: Blue;">C</span><span style="color: Gray;">/</span><span style="color: Maroon;">4.0</span><span style="color: Gray;"><br /></span><span style="color: Blue;">F</span><span style="color: Gray;">:</span><span style="color: Maroon;">88888888</span><span style="color: Gray;"><br /></span><span style="color: Blue;">I</span><span style="color: Gray;">: </span><span style="color: Maroon;">10</span><span style="color: Gray;"> <br /></span><span style="color: Blue;">Q</span><span style="color: Gray;">: </span><span style="color: Maroon;">2</span><span style="color: Gray;"> </span><span style="color: Blue;">M</span><span style="color: Gray;"><br /></span><span style="color: Blue;">T</span><span style="color: Gray;">: </span><span style="color: Blue;">sip</span><span style="color: Gray;">:</span><span style="color: Maroon;">99999999</span><span style="color: Gray;">@</span><span style="color: Blue;">fetion</span><span style="color: Gray;">.</span><span style="color: Blue;">com</span><span style="color: Gray;">.</span><span style="color: Blue;">cn</span><span style="color: Gray;">;</span><span style="color: Blue;">p</span><span style="color: Gray;">=</span><span style="color: Maroon;">640</span><span style="color: Gray;"><br /></span><span style="color: #ffa500;">//上面一行旧版本协议这里是:</span><span style="color: Gray;"><br /></span><span style="color: #ffa500;">//T: tel:13599999999</span><span style="color: Gray;"><br /></span><span style="color: Blue;">C</span><span style="color: Gray;">: </span><span style="color: Blue;">text</span><span style="color: Gray;">/</span><span style="color: Blue;">plain</span><span style="color: Gray;"><br /></span><span style="color: Blue;">K</span><span style="color: Gray;">: </span><span style="color: Blue;">SaveHistory</span><span style="color: Gray;"><br /></span><span style="color: Blue;">L</span><span style="color: Gray;">: </span><span style="color: Maroon;">4</span><span style="color: Gray;"></span></div></div>
<p>这里就出现一个问题，要想发送手机短信，提交过来手机号不行，需要提交手机号对应的飞信号码才能识别，如何才能把手机号码转换为飞信号码就是解决问题的关键。经对新协议抓包分析，发现并不能直接从手机号码转换成飞信号码，但是中间有一个很不错的变量叫做&#8221;user-id&#8221;，每个手机号对应一个飞信号码，同样对应每个user-id（至于为什么会多出来一个user-id，我想可能是飞信公司准备把飞信号码当做一种商业资源来使用吧）。其实我们用户的真正的飞信号码是这个user-id，所谓飞信号码，无非是一个数字昵称(another nickname)而已。明白这些，问题就好办了：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Maroon;">1</span><span style="color: Gray;">.发送接收者手机号码，抓包获取该号码的</span><span style="color: Blue;">user</span><span style="color: Gray;">-</span><span style="color: Blue;">id</span><span style="color: Gray;">；<br /></span><span style="color: Maroon;">2</span><span style="color: Gray;">.发送请求好友列表信息（登陆后自动完成）；<br /></span><span style="color: Maroon;">3</span><span style="color: Gray;">.匹配</span><span style="color: Maroon;">1</span><span style="color: Gray;">中</span><span style="color: Blue;">user</span><span style="color: Gray;">-</span><span style="color: Blue;">id</span><span style="color: Gray;">，对应的飞信号码</span><span style="color: Olive;">(</span><span style="color: Gray;">注意格式:</span><span style="color: Blue;">fetion_num</span><span style="color: Gray;">@</span><span style="color: Blue;">fetion</span><span style="color: Gray;">.</span><span style="color: Blue;">com</span><span style="color: Gray;">.</span><span style="color: Blue;">cn</span><span style="color: Olive;">)</span><span style="color: Gray;">；<br /></span><span style="color: Maroon;">4</span><span style="color: Gray;">.发送飞信号码、短信内容，</span><span style="color: Blue;">Done</span><span style="color: Gray;"></span></div></div>
<p>具体代码省略，关键正则函数：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: #ffa500;">//获取飞信号码</span><span style="color: Gray;"><br /></span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">get_fetion_id</span><span style="color: Olive;">(</span><span style="color: #00008b;">$userid</span><span style="color: Gray;">, </span><span style="color: #00008b;">$rst</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp;</span><span style="color: Blue;">preg_match</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">/ri=</span><span style="color: Navy;">\&quot;</span><span style="color: Red;">sip:(\d{6,10}+)@fetion.com.cn;p=(\d{0,6}+)</span><span style="color: Navy;">\&quot;</span><span style="color: Red;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;user-id=</span><span style="color: Navy;">\&quot;</span><span style="color: #00008b;">$userid</span><span style="color: Red;">/i</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: #00008b;">$rst</span><span style="color: Gray;">, </span><span style="color: #00008b;">$matches</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: #ffa500;">//同理重构函数获取user-id</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp;</span><span style="color: #ffa500;">//preg_match(&quot;/user-id=\&quot;([0-9]+)\&quot;/i&quot;, $rst, $matches);</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp;</span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: #00008b;">$matches</span><span style="color: Olive;">[</span><span style="color: Maroon;">1</span><span style="color: Olive;">]</span><span style="color: Gray;">;<br /></span><span style="color: Olive;">}</span><span style="color: Gray;"></span></div></div>
<p>这样同样还会存在一个问题：给自己手机号码发送的时候转换不到自己的自己的user-id。解决办法也很简单，只需要在手机号码提交过来最初判断一下是否为登陆号码即可，如果是，取消所有转换，直接进行第4步骤即可发送。</p>
<p>纸上谈兵无用，演示：<br />
Demo1：<a href="http://www.liuhuadong.com/phoneme">http://www.liuhuadong.com/phoneme</a><br />
Demo2：<a href="http://labs.liuhuadong.com/cmcc/index.php">http://labs.liuhuadong.com/cmcc/index.php</a>(暂无，睡醒后继续)<br />
QQREADERC927A243851272DC</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liuhuadong.com/archives/867/index.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>加上一个百度新闻和淘宝搜索</title>
		<link>http://www.liuhuadong.com/archives/859/index.html</link>
		<comments>http://www.liuhuadong.com/archives/859/index.html#comments</comments>
		<pubDate>Sat, 10 Apr 2010 15:16:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[不知所云]]></category>

		<guid isPermaLink="false">http://www.liuhuadong.com/archives/859/index.html</guid>
		<description><![CDATA[博客增加一个百度关于google nexus one的新闻，和一个淘宝搜索推广，没什么实际意义。]]></description>
			<content:encoded><![CDATA[<p>博客增加一个百度关于google nexus one的新闻，和一个淘宝搜索推广，没什么实际意义。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liuhuadong.com/archives/859/index.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>面试经历</title>
		<link>http://www.liuhuadong.com/archives/745/index.html</link>
		<comments>http://www.liuhuadong.com/archives/745/index.html#comments</comments>
		<pubDate>Thu, 11 Mar 2010 09:48:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP/Mysql]]></category>
		<category><![CDATA[不知所云]]></category>

		<guid isPermaLink="false">http://www.liuhuadong.com/?p=745</guid>
		<description><![CDATA[一直认为在这个城市里面，没有多少php人才，直到昨天面试，发现一个问题竟然是从来没听说过的名词，巨受打击。 一：康盛ucenter跨域登陆的实现方式； http协议头部分加入P3P（第一次听说这个名词）。至于p3p是什么，阅读这里。g了下发现国内对此技术关注并不是很高，只查到网易通行证在不同域登陆时采用了此；当然还有ucenter。 二：操作ucenter中实例实现同步登陆。 这个以前遇到过，只是没有总结。面试时一直把重点放在了解决通信正常的问题上，其实这完全不是重点。回来后网上查了很多此问题的解决方案，大多都不靠谱，正确解决方案应该是这样：实例ucexample_1.php中有获取cookie函数 $_COOKIE['Example_auth'] ，这里面的Example_auth没有被赋值，所以不会被synlogin同步，赋值即可。解决方法有两种，都很简单，一是修改ucexample_1.php文件，把$_COOKIE['Example_auth']换成$_COOKIE['auth']，这里的auth是另外应用的cookie设置的值； /**&#160;* 获取当前用户的 UID 和 用户名&#160;* Cookie 解密直接用 uc_authcode 函数，用户使用自己的函数&#160;*/if(!empty($_COOKIE['auth'])) {&#160;&#160; &#160;list($Example_uid, $Example_username) = explode(&#34;\t&#34;, uc_authcode($_COOKIE['auth'], 'DECODE'));} else {&#160;&#160; &#160;$Example_uid = $Example_username = '';} 二是修改同步应用的uc.php，在synlogin里面新增一个cookie赋值语句： _setcookie('Example_auth', _authcode($uid.&#34;\t&#34;.$username, 'ENCODE')); 两种方法其实是一回事。 回顾这两个问题，发现这两个问题不是一般php人能问的出来的，所以，莫非提问题的那位是康盛的人？？无论怎么说，这次面试给我留下了相当深刻的印象，让我学到了一些东西，也思考到很多东西，记之。]]></description>
			<content:encoded><![CDATA[<p>一直认为在这个城市里面，没有多少php人才，直到昨天面试，发现一个问题竟然是从来没听说过的名词，巨受打击。<br />
一：康盛ucenter跨域登陆的实现方式；<br />
    http协议头部分加入P3P（第一次听说这个名词）。至于p3p是什么，<a href="http://www.w3.org/P3P/">阅读这里</a>。g了下发现国内对此技术关注并不是很高，只查到网易通行证在不同域登陆时采用了此；当然还有ucenter。<br />
二：操作ucenter中实例实现同步登陆。<br />
    这个以前遇到过，只是没有总结。面试时一直把重点放在了解决通信正常的问题上，其实这完全不是重点。回来后网上查了很多此问题的解决方案，大多都不靠谱，正确解决方案应该是这样：实例ucexample_1.php中有获取cookie函数
<div class="hl-surround"><div class="hl-main"><span style="color: #00008b;">$_COOKIE</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">Example_auth</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span><span style="color: Gray;"></span></div></div>
<p>，这里面的Example_auth没有被赋值，所以不会被synlogin同步，赋值即可。解决方法有两种，都很简单，一是修改ucexample_1.php文件，把$_COOKIE['Example_auth']换成$_COOKIE['auth']，这里的auth是另外应用的cookie设置的值；</p>
<div class="hl-surround"><div class="hl-main"><span style="color: #ffa500;">/**<br />&nbsp;* 获取当前用户的 UID 和 用户名<br />&nbsp;* Cookie 解密直接用 uc_authcode 函数，用户使用自己的函数<br />&nbsp;*/</span><span style="color: Gray;"><br /></span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Gray;">!</span><span style="color: Green;">empty</span><span style="color: Olive;">(</span><span style="color: #00008b;">$_COOKIE</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">auth</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]))</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp;</span><span style="color: Green;">list</span><span style="color: Olive;">(</span><span style="color: #00008b;">$Example_uid</span><span style="color: Gray;">, </span><span style="color: #00008b;">$Example_username</span><span style="color: Olive;">)</span><span style="color: Gray;"> = </span><span style="color: Blue;">explode</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Navy;">\t</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: Blue;">uc_authcode</span><span style="color: Olive;">(</span><span style="color: #00008b;">$_COOKIE</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">auth</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span><span style="color: Gray;">, </span><span style="color: #8b0000;">'</span><span style="color: Red;">DECODE</span><span style="color: #8b0000;">'</span><span style="color: Olive;">))</span><span style="color: Gray;">;<br /></span><span style="color: Olive;">}</span><span style="color: Gray;"> </span><span style="color: Green;">else</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp;</span><span style="color: #00008b;">$Example_uid</span><span style="color: Gray;"> = </span><span style="color: #00008b;">$Example_username</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">''</span><span style="color: Gray;">;<br /></span><span style="color: Olive;">}</span><span style="color: Gray;"></span></div></div>
<p>二是修改同步应用的uc.php，在synlogin里面新增一个cookie赋值语句：
<div class="hl-surround"><div class="hl-main"><span style="color: Blue;">_setcookie</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">Example_auth</span><span style="color: #8b0000;">'</span><span style="color: Gray;">, </span><span style="color: Blue;">_authcode</span><span style="color: Olive;">(</span><span style="color: #00008b;">$uid</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Navy;">\t</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #00008b;">$username</span><span style="color: Gray;">, </span><span style="color: #8b0000;">'</span><span style="color: Red;">ENCODE</span><span style="color: #8b0000;">'</span><span style="color: Olive;">))</span><span style="color: Gray;">;</span></div></div>
<p>两种方法其实是一回事。<br />
回顾这两个问题，发现这两个问题不是一般php人能问的出来的，所以，莫非提问题的那位是康盛的人？？无论怎么说，这次面试给我留下了相当深刻的印象，让我学到了一些东西，也思考到很多东西，记之。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liuhuadong.com/archives/745/index.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>密码保护：虎年大吉</title>
		<link>http://www.liuhuadong.com/archives/740/index.html</link>
		<comments>http://www.liuhuadong.com/archives/740/index.html#comments</comments>
		<pubDate>Wed, 03 Mar 2010 09:03:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[不知所云]]></category>

		<guid isPermaLink="false">http://www.liuhuadong.com/?p=740</guid>
		<description><![CDATA[无法提供任何摘要。这是一篇受保护的文章。]]></description>
			<content:encoded><![CDATA[<form action="http://www.liuhuadong.com/wp-pass.php" method="post">
<p>这是一篇受密码保护的文章。您需要提供访问密码：</p>
<p><label for="pwbox-740">密码：<br />
<input name="post_password" id="pwbox-740" type="password" size="20" /></label><br />
<input type="submit" name="Submit" value="提交" /></p></form>
]]></content:encoded>
			<wfw:commentRss>http://www.liuhuadong.com/archives/740/index.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
