<?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>露兜博客&#187; Web</title>
	<atom:link href="http://www.ludou.org/tag/web/feed" rel="self" type="application/rss+xml" />
	<link>http://www.ludou.org</link>
	<description>分享IT知识，书写我心情</description>
	<lastBuildDate>Thu, 02 Sep 2010 00:29:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>IE6下文字神秘消失</title>
		<link>http://www.ludou.org/ie6-text-disappear.html</link>
		<comments>http://www.ludou.org/ie6-text-disappear.html#comments</comments>
		<pubDate>Wed, 14 Jul 2010 13:37:52 +0000</pubDate>
		<dc:creator>Ludou</dc:creator>
				<category><![CDATA[教程指南]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[故障排除]]></category>
		<category><![CDATA[网页设计]]></category>

		<guid isPermaLink="false">http://www.ludou.org/?p=1092</guid>
		<description><![CDATA[因为最近比较忙，这两周都不怎么更新博客了。忙完之后，又开始折腾起我的博客。经常光顾露兜博客的朋友，可能都注意到露兜博客的界面又发生了很大了的变化，具体哪些变化我就不说了。折腾是要付出体力劳动的，尤其是Internet Explorer这个怪物还在这个世上横行霸道，你就别想半点清闲。]]></description>
			<content:encoded><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;因为最近比较忙，这两周都不怎么更新博客了。忙完之后，又开始折腾起我的博客。经常光顾露兜博客的朋友，可能都注意到露兜博客的界面又发生了很大了的变化，具体哪些变化我就不说了。折腾是要付出体力劳动的，尤其是Internet Explorer这个怪物还在这个世上横行霸道，你就别想半点清闲。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;修改博客界面的时候，我在IE6下遇到了一个很诡异的问题，具体是什么问题，我都找不到词来形容，看图吧：</p>
<div class="sorting">
<p style="text-align: center;">Internet Explorer 6.0下 介绍文字消失了<img width="600" height="171" alt="文字消失" src="http://file.ludou.org/blog/wp-content/uploads/2010/07/hidden.png" /></p>
<hr />
<p style="text-align: center;">鼠标指针选中消失的文字<img width="600" height="171" alt="文字消失" src="http://file.ludou.org/blog/wp-content/uploads/2010/07/show.png" /></p>
<hr />
<p style="text-align: center;">Firefox下正常显示<img width="600" height="167" alt="文字消失" src="http://file.ludou.org/blog/wp-content/uploads/2010/07/ff_show.png" /></p>
</div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;可以看到图一，在Internet Explorer 6.0下，作者介绍的文字神秘地消失了，用鼠标去选择这部分文字还是存在的，但是点击到别处又消失，我在CSS中并没有隐藏这部分文字，并且除了IE6，其他浏览器都正常，这只能说是IE6的问题，想来想去都想不出这是什么原因造成。想解决这个问题吧，去网上搜索，但是我所用的大多数关键词都搜不到我想要的解决办法，幸好老天怜悯我，给了我答案：<a href="http://hi.baidu.com/udd_eeqg/blog/item/6877c7a29d20c8a5caefd0fa.html" target="_blank" rel="nofollow">神奇IE6大bug，float导致文字消失</a></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;解决办法就是指定父容器的宽度：</p>
<div class="codecolorer-container css default" style="overflow-x: auto;overflow-y: hidden;white-space:nowrap;width:100%;border:1px solid #9F9F9F;width:600px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #cc00cc;">#CONTENT</span> <span style="color: #00AA00;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">99%</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;或者指定高度为1%</p>
<div class="codecolorer-container css default" style="overflow-x: auto;overflow-y: hidden;white-space:nowrap;width:100%;border:1px solid #9F9F9F;width:600px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #00AA00;">*</span>html <span style="color: #cc00cc;">#CONTENT</span> <span style="color: #00AA00;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">1%</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我的解决办法是给右边的文字部分指定高度1%</p>
<div class="codecolorer-container css default" style="overflow-x: auto;overflow-y: hidden;white-space:nowrap;width:100%;border:1px solid #9F9F9F;width:600px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #6666ff;">.bio</span> <span style="color: #6666ff;">.about</span> <span style="color: #00AA00;">&#123;</span><br />
&nbsp; &nbsp; _height<span style="color: #00AA00;">:</span> <span style="color: #933;">1%</span><span style="color: #00AA00;">;</span> &nbsp; <span style="color: #808080; font-style: italic;">/* 针对IE6 */</span><br />
<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我想如果我没有找到这篇文章，我永远都不会找出导致文字消失的原因，更不能解决这个问题，感谢该文章的作者。Internet Explorer就是一个典型的程序员折磨程序员的例子，如果你也在写程序，并且你的程序会被别人用，那么请认真对待你的程序，负起你的责任，不要让别人因你而遭受苦难！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ludou.org/ie6-text-disappear.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>为什么自定义的404页面在IE中无法显示？</title>
		<link>http://www.ludou.org/why-custom-404-not-show-in-internet-explorer.html</link>
		<comments>http://www.ludou.org/why-custom-404-not-show-in-internet-explorer.html#comments</comments>
		<pubDate>Wed, 23 Jun 2010 12:13:56 +0000</pubDate>
		<dc:creator>Ludou</dc:creator>
				<category><![CDATA[教程指南]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[故障排除]]></category>
		<category><![CDATA[经验]]></category>

		<guid isPermaLink="false">http://www.ludou.org/?p=1084</guid>
		<description><![CDATA[或许你已经知道了404页面的相关知识，知道了设置404页面的重要性，也知道如何自定义自己的404页面了，可是突然发现自定义的404页面在 Internet Explorer 下无法正常显示（在其它浏览器均正常），遇到页面未找到的情况，直接显示Internet Explorer默认的页面。遇到这样的问题该怎么办呢？]]></description>
			<content:encoded><![CDATA[<p>首先我们通过以下两个链接了解一下什么是404页面：</p>
<ul>
<li><a href="http://baike.baidu.com/view/1402912.html?fromTaglist" rel="nofollow" target="_blank">404页面</a></li>
<li><a href="http://zh.wikipedia.org/zh/HTTP_404" rel="nofollow" target="_blank">HTTP 404</a></li>
</ul>
<p>我们再通过以下三个链接来欣赏一下精美有趣的404页面：</p>
<ul>
<li><a href="http://www.smashingmagazine.com/2009/01/29/404-error-pages-one-more-time/" rel="nofollow" target="_blank">404 Error Pages, One More Time</a></li>
<li><a href="http://www.smashingmagazine.com/2007/08/17/404-error-pages-reloaded/" rel="nofollow" target="_blank">404 Error Pages: Reloaded</a></li>
<li><a href="http://www.smashingmagazine.com/2007/07/25/wanted-your-404-error-pages/" rel="nofollow" target="_blank">Wanted: Your 404 Error Pages</a></li>
</ul>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;经过上面的学习和了解，或者之前你已经知道了404页面的相关知识，知道了设置404页面的重要性，也知道如何自定义自己的404页面了，可是突然发现自定义的404页面在 Internet Explorer 下无法正常显示（在其它浏览器均正常），遇到页面未找到的情况，直接显示Internet Explorer默认的页面：</p>
<div class="sorting">
<p style="text-align: center;"><img width="380px" height="341px" src="http://file.ludou.org/blog/wp-content/uploads/2010/06/404.gif" alt="Internet Explorer 404 页面未找到" /></p>
</div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这是为什么呢？刚开始我也找不到原因，通过搜索引擎也找不到相关的中文资料，后来在一家英文网站找到了答案：</p>
<blockquote><p>自定义的404页面大小必须大于512字节，否则Internet Explorer会认为你自定义的404页面不够权威，Internet Explorer会使用其自带的404页面代替，也就是上面图片显示的内容。</p></blockquote>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;所以，如果你想伺候好 Internet Explorer 这位大爷，请往你的404页面多添加些内容，一定要保证404页面的大小大于512字节！</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;最后邀你一起来欣赏一下露兜博客的404页面：<a href="http://www.ludou.org/404" target="_blank">404页面</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ludou.org/why-custom-404-not-show-in-internet-explorer.html/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>给你的博客添加密码保护</title>
		<link>http://www.ludou.org/password-protecting-your-wordpress-blog.html</link>
		<comments>http://www.ludou.org/password-protecting-your-wordpress-blog.html#comments</comments>
		<pubDate>Sat, 19 Jun 2010 12:23:50 +0000</pubDate>
		<dc:creator>Ludou</dc:creator>
				<category><![CDATA[教程指南]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[经验]]></category>

		<guid isPermaLink="false">http://www.ludou.org/?p=1082</guid>
		<description><![CDATA[如果你想给你的博客加密，必须输入正确的密码才能访问你的博客，就像QQ空间的空间加密那样，你可以参考本文提供的几种方法。]]></description>
			<content:encoded><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果你想给你的博客加密，必须输入正确的密码才能访问你的博客，就像QQ空间的空间加密那样，你可以参照下面提供的几种方法。</p>
<p><strong>方法一：cPanel 的目录加密</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果你的主机使用的是 cPanel 控制面板，可以使用本方法。首先进入 cPanel 面板(这里以英文界面为例)，选择 <strong>Password Protect Directories</strong>，如下图：</p>
<div class="sorting">
<p style="text-align: center;"><img width="483px" height="114px" alt="Password Protect Directories" src="http://file.ludou.org/blog/wp-content/uploads/2010/06/cpanel.png" /></p>
</div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;接着点击选择你博客所在的目录，如：<em>public_html</em></p>
<div class="sorting">
<p style="text-align: center;"><img width="452px" height="285px" alt="选择目录" src="http://file.ludou.org/blog/wp-content/uploads/2010/06/folder.png" /></p>
</div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;勾选：<strong>Password protect this directory</strong>，然后在<strong>Name the protected directory</strong>处填写该文件夹的名称(英文名称)</p>
<div class="sorting">
<p style="text-align: center;"><img width="418px" height="184px" alt="选择目录" src="http://file.ludou.org/blog/wp-content/uploads/2010/06/password.png" /></p>
</div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果还未创建用户，可以在此创建用户和密码。</p>
<div class="sorting">
<p style="text-align: center;"><img width="478px" height="202px" alt="选择目录" src="http://file.ludou.org/blog/wp-content/uploads/2010/06/creat-user.png" /></p>
</div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;至此所有设置完毕，每个首次打开你博客的访客，必须输入正确的用户名和密码才能访问你的博客，这样就起到了加密的作用。</p>
<p>&nbsp;</p>
<p><strong>方法二：修改WordPress主题，添加加密功能</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果你是使用WordPress搭建的博客，你可以修改WordPress主题，添加加密功能即可。用文本编辑器打开你的主题目录下的header.php，在第一行添加以下代码：</p>
<div class="codecolorer-container php default" style="overflow-x: auto;overflow-y: hidden;white-space:nowrap;width:100%;border:1px solid #9F9F9F;width:600px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
&nbsp; &nbsp; <a href="http://www.php.net/session_start"><span style="color: #990000;">session_start</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <a href="http://www.php.net/isset"><span style="color: #990000;">isset</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SESSION</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'authenticated'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SESSION</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'authenticated'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'yes'</span><span style="color: #009900;">&#41;</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$authenticated</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'yes'</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">else</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$authenticated</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'no'</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">else</span> <br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$authenticated</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'no'</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$authenticated</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">'yes'</span><span style="color: #009900;">&#41;</span> <br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// 将 www.ludou.org 改成你的网站首页地址</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/header"><span style="color: #990000;">header</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Location: http://www.ludou.org/login.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.php.net/exit"><span style="color: #990000;">exit</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;接着下载 login.php （<a href="http://cid-c76cc6a862c7a95e.office.live.com/self.aspx/.Public/WordPress-plugin/login.php">点此下载</a>），下载后用文本编辑器打开 <strong>login.php</strong> ，根据提示更改网站URL和密码，最后用UTF8编码保存并上传到你的网站根目录下。好了，现在你的博客就已经被加密了，初次访问必须输入密码。这里是个测试样例，你可以看看该方法实现的结果：<a href="http://www.chatfieldfamily.co.uk" rel="nofollow">www.chatfieldfamily.co.uk</a></p>
<p>&nbsp;</p>
<p><strong>方法三：WordPress登陆用户可见</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果你只是希望你的WordPress博客只有登录用户才可以浏览，你可以使用插件：<a href="http://wordpress.org/extend/plugins/registered-users-only-2/" rel="nofollow">Registered Users Only 2</a></p>
<p>&nbsp;</p>
<p><strong>参考文章：</strong></p>
<ul>
<li><a href="http://www.cre8d-design.com/2006/08/password-protecting-your-wordpress-blog/">Password-protecting your WordPress blog</a></li>
<li><a href="http://www.spiders-design.co.uk/password-protect-wordpress-blog/">Password protect wordpress blog</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ludou.org/password-protecting-your-wordpress-blog.html/feed</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>网站流量统计，如何不统计自己？</title>
		<link>http://www.ludou.org/web-analytics-exclude-yourself.html</link>
		<comments>http://www.ludou.org/web-analytics-exclude-yourself.html#comments</comments>
		<pubDate>Fri, 18 Jun 2010 09:03:38 +0000</pubDate>
		<dc:creator>Ludou</dc:creator>
				<category><![CDATA[教程指南]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[经验]]></category>

		<guid isPermaLink="false">http://www.ludou.org/?p=1079</guid>
		<description><![CDATA[相信大家都在自己的网站上安装了网站流量统计的代码，这些工具可以统计网站的流量，可以帮助你分析你的网站流量情况。但是现在有个问题，作为网站管理者，我可能一天要无数次打开我的网站，如果这也被流量统计工具统计进去，对流量统计的结果势必会造成影响，使统计结果的真实性和有效性下降，这样就有悖于统计的初衷，最理想的做法是使流量统计不统计自己的访问信息。]]></description>
			<content:encoded><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;相信大家都在自己的网站上安装了网站流量统计的代码，如Google analytics、量子统计、百度统计、cnzz、51.la等，这些工具可以统计网站的流量，可以帮助你分析你的网站流量情况，进而总结出访问者访问来源、爱好趋向、访问习惯等一些共性数据，为网站进一步调整做出指引。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;但是现在有个问题，作为网站管理者，我可能一天要无数次打开我的网站，如果这也被流量统计工具统计进去，对流量统计的结果势必会造成影响，使统计结果的真实性和有效性下降，这样就有悖于统计的初衷，最理想的做法是使流量统计不统计自己的访问信息。我使用过Google analytics、量子统计和百度统计这三款流量统计工具，可以说都很不错，Google analytics可以实现不统计特定IP和IP地址段的访问信息；百度统计只能排除特定的IP，不能排除特定IP段；量子统计则不提供排除功能。本文将教你如何屏蔽自己的访问数据，也就是使流量统计工具不统计自己的页面访问信息，实现的原理是对特定用户不输出统计代码。</p>
<p>概览：今天我们要介绍什么呢?</p>
<ol>
<li><a href="#login-user">WordPress博客如何不统计登陆用户？</a></li>
<li><a href="#special-user">WordPress博客如何不统计特定用户？</a></li>
<li><a href="#special-ip">如何不统计特定IP的用户？</a></li>
</ol>
<p><strong id="login-user">1、WordPress博客如何不统计登陆用户？</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;现在很多博客都使用WordPress来搭建，这其中又有很多博客都是单用户博客，只有一个博主，这样不统计已登陆用户的访问数据即可不统计博主的访问数据。一般我们都将统计代码放在footer.php中，那现在用文本编辑器打开你的footer.php，找到你的统计代码，将其改成：</p>
<div class="codecolorer-container php default" style="overflow-x: auto;overflow-y: hidden;white-space:nowrap;width:100%;border:1px solid #9F9F9F;width:600px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$user_ID</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$user_ID</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">?&gt;</span><br />
这里替换成统计代码<br />
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">endif</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这样在没有任何用户登录的情况下，才在你的博客页面输出统计代码，否则不输出统计代码，博主在已登陆的情况，就跟没安装统计代码一样，你可以“查看页面源代码”试试。</p>
<p><strong id="special-user">2、WordPress博客如何不统计特定用户？</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在WordPress博客系统中，已为每位用户分配一个用户ID，如果不想统计ID为5的用户访问信息，可以将统计代码改成：</p>
<div class="codecolorer-container php default" style="overflow-x: auto;overflow-y: hidden;white-space:nowrap;width:100%;border:1px solid #9F9F9F;width:600px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$user_ID</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #cc66cc;">5</span> <span style="color: #339933;">!=</span> <span style="color: #000088;">$user_ID</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">?&gt;</span><br />
这里替换成统计代码<br />
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">endif</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用户ID可照此方法获取：</p>
<pre>WordPress后台 - 用户，这里每个用户名都是类似以下的超链接:
http://example.com/wp-admin/user-edit.php?user_id=5&#038;wp_http_referer=%2Fwp-admin%2Fusers.php
那么该用户的ID就是5</pre>
<p>&nbsp;</p>
<p><strong id="special-ip">3、如何不统计特定IP的用户？</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果你使用的是固定IP或者固定的IP段，那这个问题就更好办了，不统计你指定的IP或IP段即可。</p>
<div class="codecolorer-container php default" style="overflow-x: auto;overflow-y: hidden;white-space:nowrap;width:100%;border:1px solid #9F9F9F;width:600px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <br />
&nbsp; &nbsp; <span style="color: #000088;">$iipp</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">' '</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;REMOTE_ADDR&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// 将以下 192.168.2.1 改成你的IP或IP地址段</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <a href="http://www.php.net/strpos"><span style="color: #990000;">strpos</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$iipp</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'192.168.2.1'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">===</span> <span style="color: #009900; font-weight: bold;">false</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <br />
<span style="color: #000000; font-weight: bold;">?&gt;</span><br />
这里替换成统计代码<br />
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">endif</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果你排除多个IP或IP地址段，可以改成：</p>
<div class="codecolorer-container php default" style="overflow-x: auto;overflow-y: hidden;white-space:nowrap;width:100%;border:1px solid #9F9F9F;width:600px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <br />
&nbsp; &nbsp; <span style="color: #000088;">$iipp</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">' '</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;REMOTE_ADDR&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// 同理你可以增加排除IP的个数</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <a href="http://www.php.net/strpos"><span style="color: #990000;">strpos</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$iipp</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'192.168.2.1'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">===</span> <span style="color: #009900; font-weight: bold;">false</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #339933;">||</span> <a href="http://www.php.net/strpos"><span style="color: #990000;">strpos</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$iipp</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'192.168.2.2'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">===</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <br />
<span style="color: #000000; font-weight: bold;">?&gt;</span><br />
这里替换成统计代码<br />
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">endif</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p><strong>注</strong>：如果你的网站已经被完全静态化，以上方法失效！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ludou.org/web-analytics-exclude-yourself.html/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>学会分析网站原始访问日志</title>
		<link>http://www.ludou.org/learning-how-to-analyse-raw-access-log.html</link>
		<comments>http://www.ludou.org/learning-how-to-analyse-raw-access-log.html#comments</comments>
		<pubDate>Tue, 15 Jun 2010 11:53:04 +0000</pubDate>
		<dc:creator>Ludou</dc:creator>
				<category><![CDATA[教程指南]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[经验]]></category>

		<guid isPermaLink="false">http://www.ludou.org/?p=1080</guid>
		<description><![CDATA[如果你的博客或网站是搭建在付费主机上，如果你是博客或网站的管理员，如果你连原始访问日志(Raw Access Log)是什么都不知道，或者对其根本不屑一顾，我只能说你是一个不称职的网站管理员，一旦网站出问题，必定是束手无策！]]></description>
			<content:encoded><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果你的博客或网站是搭建在付费主机上，如果你是博客或网站的管理员，如果你连原始访问日志(Raw Access Log)是什么都不知道，或者对其根本不屑一顾，我只能说你是一个不称职的网站管理员，一旦网站出问题，必定是束手无策！</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;相信大家都在自己的网站上安装了网站统计的代码，如Google analytics、量子统计、百度统计、cnzz、51.la等，这些工具可以统计网站的流量，也就是网站上访客可看到的所有页面的访问量，但是这些统计工具都不能统计你主机上资源的原始访问信息，例如某个图片被谁下载了。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;绝大多数收费主机都提供原始访问日志(Raw Access Log)，网站服务器会把每一个访客来访时的一些信息自动记录下来，保存在原始访问日志文件中，如果你的主机不提供日志功能，建议你到期后还是换主机吧。日志中记录了网站上所有资源的访问信息，包括图片、CSS、JS、FLASH、HTML、MP3等所有网页打开过程载入的资源，同时记录了这些资源都被谁访问了、用什么来访问以及访问的结果是什么等等，可以说原始访问日志记录了主机的所有资源使用情况。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果你的网站遭到了攻击、非法盗链和不良请求等，通过分析原始访问日志能大概分析出端倪来，例如：今年年初我往我的主机上传了一个mp3，不幸被百度mp3收录，引来大量的盗链，导致我的主机流量猛增，虽然这对我并无大碍，但是心里不爽！通过分析日志，我找出了问题根源，删除了那个mp3，主机流量也降下来了。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;不同主机使用的面板不太一样，所以查看原始访问日志的方法也不太一样，但是Apache服务器的日志记录格式都是一样的，具体查看原始访问日志的方法请咨询相关主机客服。下面是cPanel面板，通过点击红色方框中的按钮，接着选择你的网站域名，即可下载原始访问日志，使用文本编辑器打开即可查看：</p>
<div class="sorting">
<p style="text-align: center;"><img width="600px" height="155px" src="http://file.ludou.org/blog/wp-content/uploads/2010/06/raw.gif" alt="原始访问日志" /></p>
</div>
<p>Apache服务器的原始访问日志每一行就是类似以下的记录：<br />
<strong><font color="#000000">64.10.90.61</font><code> - - </code><font color="#008000">[04/Mar/2001:11:47:26 -0600]</font> &quot;<font color="#ff00ff">GET /intro.htm HTTP/1.1</font>&quot; <font color="#808000">200</font> <font color="#000080">13947</font> &quot;<font color="#0000ff">http://www.yourdomain.com/</font>&quot; &quot;<font color="#ff0000">Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)</font>&quot;</strong></p>
<p>下面我们来说说这一行记录的意思:</p>
<p><strong><font color="#000000">64.10.90.61</font></strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这是访客（也可能是机器人）的IP</p>
<p><strong><font color="#008000">[04/Mar/2001:11:47:26 -0600]</font></strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这是访客访问该资源的时间（Date），-0600是该时间所对应的时区，即与格林威治时间相差-6个小时</p>
<p><strong><font color="#ff00ff">GET /intro.htm HTTP/1.1</font></strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;请求信息，包括请求方式、所请求的资源以及所使用的协议，该语句的意思就是以GET方式，按照HTTP/1.1协议获取网页/intro.htm，intro.htm为网站上的某个网页。</p>
<p><strong><font color="#808000">200</font> <font color="#000080">13947</font></strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;200为该请求返回的状态码（Http Code），不同的状态码代表不同的意思，具体请阅读 <a href="http://www.google.com/support/webmasters/bin/answer.py?hl=cn&#038;answer=40132">HTTP 状态代码</a>；13947为此次请求所耗费的流量（Size in Bytes），单位为byte</p>
<p><strong><font color="#0000ff">http://www.yourdomain.com/</font></strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;为访客来源（Referer）。这一段是告诉我们访客是从哪里来到这一个网页。有可能是你的网站其他页，有可能是来自搜索引擎的搜索页等。通过这条来源信息，你可以揪出盗链者的网页。</p>
<p><strong><font color="#ff0000">Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)</font></strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;为访客所使用的浏览器类型（Agent），这里记录了用户使用的操作系统、浏览器型号等</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ludou.org/learning-how-to-analyse-raw-access-log.html/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>CSS边角折叠实战</title>
		<link>http://www.ludou.org/practical-css-shapes.html</link>
		<comments>http://www.ludou.org/practical-css-shapes.html#comments</comments>
		<pubDate>Mon, 31 May 2010 11:00:48 +0000</pubDate>
		<dc:creator>Ludou</dc:creator>
				<category><![CDATA[教程指南]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[网页设计]]></category>

		<guid isPermaLink="false">http://www.ludou.org/?p=1070</guid>
		<description><![CDATA[在大量的网页设计作品中，都用到一种边角折叠效果，通常用于标题背景。一般可以用PhotoShop来实现这样的效果，但是在当今广泛提倡减少网页图片使用量的情况下，我们还是少用图片为好。其实使用CSS是可以很容易地实现这种效果的，本文将告诉你CSS的具体实现方式。]]></description>
			<content:encoded><![CDATA[<div class="sorting">
<p style="text-align: center;"><img width="559px" height="122px" alt="CSS边角形状效果" src="http://file.ludou.org/blog/wp-content/uploads/2010/05/css-shapes.jpg" style="border:1px solid #898989;" /></p>
</div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在大量的网页设计作品中，都用到了这种折叠效果，通常用于标题背景。一般可以用PhotoShop来实现这样的效果，但是在当今广泛提倡减少网页图片使用量的情况下，我们还是少用图片为好。其实使用CSS是可以很容易地实现这种效果的，废话少说，直接上代码：</p>
<div class="codecolorer-container html4strict default" style="overflow-x: auto;overflow-y: hidden;white-space:nowrap;width:100%;border:1px solid #9F9F9F;width:600px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #00bbdd;">&lt;!DOCTYPE html&gt;</span> &nbsp;<br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/html.html"><span style="color: #000000; font-weight: bold;">html</span></a> xmlns<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://www.w3.org/1999/xhtml&quot;</span>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/head.html"><span style="color: #000000; font-weight: bold;">head</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/meta.html"><span style="color: #000000; font-weight: bold;">meta</span></a> <span style="color: #000066;">charset</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;utf-8&quot;</span>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/title.html"><span style="color: #000000; font-weight: bold;">title</span></a>&gt;</span>CSS Shapes<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/title.html"><span style="color: #000000; font-weight: bold;">title</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/style.html"><span style="color: #000000; font-weight: bold;">style</span></a> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/css&quot;</span>&gt;</span><br />
<span style="color: #808080; font-style: italic;">&lt;!--</span><br />
<span style="color: #808080; font-style: italic;">#container {</span><br />
<span style="color: #808080; font-style: italic;">&nbsp; &nbsp; background: #666;</span><br />
<span style="color: #808080; font-style: italic;">&nbsp; &nbsp; margin: auto;</span><br />
<span style="color: #808080; font-style: italic;">&nbsp; &nbsp; width: 500px;</span><br />
<span style="color: #808080; font-style: italic;">&nbsp; &nbsp; height: 700px;</span><br />
<span style="color: #808080; font-style: italic;">&nbsp; &nbsp; padding-top: 30px;</span><br />
<span style="color: #808080; font-style: italic;">}</span><br />
<span style="color: #808080; font-style: italic;">h1 {</span><br />
<span style="color: #808080; font-style: italic;">&nbsp; &nbsp; background: #e3e3e3;</span><br />
<span style="color: #808080; font-style: italic;">&nbsp; &nbsp; background: -moz-linear-gradient(top, #e3e3e3, #c8c8c8);</span><br />
<span style="color: #808080; font-style: italic;">&nbsp; &nbsp; background: -webkit-gradient(linear, left top, left bottom, from(#e3e3e3), to(#c8c8c8));</span><br />
<span style="color: #808080; font-style: italic;">&nbsp; &nbsp; padding: 10px 20px;</span><br />
<span style="color: #808080; font-style: italic;">&nbsp; &nbsp; margin-left: -20px;</span><br />
<span style="color: #808080; font-style: italic;">&nbsp; &nbsp; margin-top: 0;</span><br />
<span style="color: #808080; font-style: italic;">&nbsp; &nbsp; position: relative;</span><br />
<span style="color: #808080; font-style: italic;">&nbsp; &nbsp; width: 70%;</span><br />
<span style="color: #808080; font-style: italic;">&nbsp; &nbsp; -moz-box-shadow: 1px 1px 3px #292929;</span><br />
<span style="color: #808080; font-style: italic;">&nbsp; &nbsp; -webkit-box-shadow: 1px 1px 3px #292929;</span><br />
<span style="color: #808080; font-style: italic;">&nbsp; &nbsp; box-shadow: 1px 1px 3px #292929;</span><br />
<span style="color: #808080; font-style: italic;">&nbsp; &nbsp; color: #454545;</span><br />
<span style="color: #808080; font-style: italic;">&nbsp; &nbsp; text-shadow: 0 1px 0 white;</span><br />
<span style="color: #808080; font-style: italic;">}</span><br />
<span style="color: #808080; font-style: italic;">.arrow {</span><br />
<span style="color: #808080; font-style: italic;">&nbsp; &nbsp; width: 0;</span><br />
<span style="color: #808080; font-style: italic;">&nbsp; &nbsp; height: 0;</span><br />
<span style="color: #808080; font-style: italic;">&nbsp; &nbsp; line-height: 0;</span><br />
<span style="color: #808080; font-style: italic;">&nbsp; &nbsp; border-left: 20px solid transparent;</span><br />
<span style="color: #808080; font-style: italic;">&nbsp; &nbsp; border-top: 10px solid #c8c8c8;</span><br />
<span style="color: #808080; font-style: italic;">&nbsp; &nbsp; top: 104%;</span><br />
<span style="color: #808080; font-style: italic;">&nbsp; &nbsp; left: 0;</span><br />
<span style="color: #808080; font-style: italic;">&nbsp; &nbsp; position: absolute;</span><br />
<span style="color: #808080; font-style: italic;">}</span><br />
<span style="color: #808080; font-style: italic;">--&gt;</span><br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/style.html"><span style="color: #000000; font-weight: bold;">style</span></a>&gt;</span><br />
<span style="color: #808080; font-style: italic;">&lt;!--[if IE]&gt;</span><br />
<span style="color: #808080; font-style: italic;">&lt;style&gt;</span><br />
<span style="color: #808080; font-style: italic;">.arrow { </span><br />
<span style="color: #808080; font-style: italic;">&nbsp; &nbsp; top: 100%; </span><br />
<span style="color: #808080; font-style: italic;">}</span><br />
<span style="color: #808080; font-style: italic;">&lt;/style&gt;</span><br />
<span style="color: #808080; font-style: italic;">&lt;![endif]--&gt;</span><br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/head.html"><span style="color: #000000; font-weight: bold;">head</span></a>&gt;</span><br />
<br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/body.html"><span style="color: #000000; font-weight: bold;">body</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;container&quot;</span>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/h1.html"><span style="color: #000000; font-weight: bold;">h1</span></a>&gt;</span> 我的标题 <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/span.html"><span style="color: #000000; font-weight: bold;">span</span></a> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;arrow&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/span.html"><span style="color: #000000; font-weight: bold;">span</span></a>&gt;</span> <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/h1.html"><span style="color: #000000; font-weight: bold;">h1</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">div</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/body.html"><span style="color: #000000; font-weight: bold;">body</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/html.html"><span style="color: #000000; font-weight: bold;">html</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;你可以创建一个html文件，拷贝以上html代码，保存并在你的浏览器中打开，就可以查看到折叠效果了，可能IE下的效果比较单调，再次鄙视IE。这里的关键技术是class=&quot;arrow&quot;这个类，它产生了一个三角形状，让你看起来就像是一条带子被折叠了一样，控制这个类的CSS代码为：</p>
<div class="codecolorer-container css default" style="overflow-x: auto;overflow-y: hidden;white-space:nowrap;width:100%;border:1px solid #9F9F9F;width:600px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #6666ff;">.arrow</span> <span style="color: #00AA00;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">line-height</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">border-left</span><span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span> <span style="color: #993333;">solid</span> <span style="color: #993333;">transparent</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">border-top</span><span style="color: #00AA00;">:</span> <span style="color: #933;">10px</span> <span style="color: #993333;">solid</span> <span style="color: #cc00cc;">#c8c8c8</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">:</span> <span style="color: #933;">104%</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">absolute</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;这其中关键的属性是border-left 和 border-top，这两个属性形成了一个三角形效果，也就是带子的拐角效果，你可以将以上代码的5、6行，做如下更改，看看效果：</p>
<div class="codecolorer-container css default" style="overflow-x: auto;overflow-y: hidden;white-space:nowrap;width:100%;border:1px solid #9F9F9F;width:600px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">border-right</span><span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span> <span style="color: #993333;">solid</span> <span style="color: #993333;">transparent</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">border-top</span><span style="color: #00AA00;">:</span> <span style="color: #933;">10px</span> <span style="color: #993333;">solid</span> <span style="color: #cc00cc;">#c8c8c8</span><span style="color: #00AA00;">;</span></div></td></tr></tbody></table></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;再做一次更改，看看什么效果：</p>
<div class="codecolorer-container css default" style="overflow-x: auto;overflow-y: hidden;white-space:nowrap;width:100%;border:1px solid #9F9F9F;width:600px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">border-left</span><span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span> <span style="color: #993333;">solid</span> <span style="color: #993333;">transparent</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">border-bottom</span><span style="color: #00AA00;">:</span> <span style="color: #933;">10px</span> <span style="color: #993333;">solid</span> <span style="color: #cc00cc;">#c8c8c8</span><span style="color: #00AA00;">;</span></div></td></tr></tbody></table></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;通过这几次更改，你可以看到，border-right、border-left和border-bottom、border-top的不同组合，可以实现三角形的不同的朝向，你可以举一反三制作你的折叠效果了。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果你喜欢通过PhotoShop来实现以上效果，可以看看这篇文章：</p>
<ul>
<li><a href="http://startwmlife.com/?p=1641" rel="nofollow">带有橙色标题的内容区</a>，效果如下图</li>
</ul>
<div class="sorting">
<p style="text-align: center;"><img width="399px" height="398px" alt="photoshop边角" src="http://file.ludou.org/blog/wp-content/uploads/2010/05/ps-shapes.jpg" /></p>
</div>
<p>参考文章：</p>
<ul>
<li><a href="http://net.tutsplus.com/tutorials/html-css-techniques/quick-tip-practical-css-shapes/" rel="nofollow">Quick Tip: Practical CSS Shapes</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ludou.org/practical-css-shapes.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Google Fonts API在线网页字体使用介绍</title>
		<link>http://www.ludou.org/google-fonts-api.html</link>
		<comments>http://www.ludou.org/google-fonts-api.html#comments</comments>
		<pubDate>Fri, 21 May 2010 12:08:37 +0000</pubDate>
		<dc:creator>Ludou</dc:creator>
				<category><![CDATA[教程指南]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[字体]]></category>
		<category><![CDATA[网页设计]]></category>

		<guid isPermaLink="false">http://www.ludou.org/?p=1052</guid>
		<description><![CDATA[今日Google公布了Google Fonts API，只要在你的网页代码中添加一个&#60;link&#62;链接到Google字体库，就可以使用一系列自定义的字体，并且不需要你的用户预装这些字体。这些字体存储在Google的服务器，当然可以给我们节省一些流量，Google的链接速度那也是没得说的。可以毫不夸张地说，你可以在20秒内将这些字体应用到你的项目中。因为是在后端处理，所以这些字体能够支持到Internet Explorer 6，不必太在意浏览器兼容问题。]]></description>
			<content:encoded><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;近日Google公布了<a href="http://code.google.com/webfonts">Google Fonts API</a>，只需在你的网页代码中添加一个&lt;link&gt;链接到Google字体库，就可以使用一系列自定义的字体，并且不需要你的用户预装这些字体。这些字体存储在Google的服务器，当然可以给我们节省一些流量，Google的链接速度那也是没得说的。另外可以毫不夸张地说，你可以在20秒内将这些字体应用到你的项目中。因为是在后端处理，所以这些字体能够支持到Internet Explorer 6，不必太在意浏览器兼容问题。目前Google Fonts API的字体数量还不是很多，并且都是英文字体，不过相信这个字体库会不断扩充的。闲话少说，下面演示一些如何使用这个API。</p>
<p>&nbsp;</p>
<p><strong>只需很简单的几步！</strong><br />
<hr />
<p>首先到<a href="http://code.google.com/webfonts">Google Font Directory</a>寻找你中意的字体</p>
<div class="sorting">
<p style="text-align:center;"><a href="http://code.google.com/webfonts"><img src="http://file.ludou.org/blog/wp-content/uploads/2010/05/googlefontapi.jpg" width="475px" height="514px" alt="Google Font Directory" /></a></p>
</div>
<p>点击相应的字体，进入字体介绍页面：</p>
<div class="sorting">
<p style="text-align:center;"><a href="http://code.google.com/webfonts/family?family=Yanone+Kaffeesatz"><img src="http://file.ludou.org/blog/wp-content/uploads/2010/05/googlefontYanone.jpg" alt="Yanone+Kaffeesatz" width="591px" height="485px" /></a></p>
</div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;通过点击”<a href="http://code.google.com/webfonts/family?family=Yanone+Kaffeesatz#code">Get the code</a>“按钮可以得到该字体的使用方法。我们就用以上字体做个演示:</p>
<div class="codecolorer-container html4strict default" style="overflow-x: auto;overflow-y: hidden;white-space:nowrap;width:100%;border:1px solid #9F9F9F;width:600px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #00bbdd;">&lt;!DOCTYPE html&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/html.html"><span style="color: #000000; font-weight: bold;">html</span></a> xmlns<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://www.w3.org/1999/xhtml&quot;</span>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/head.html"><span style="color: #000000; font-weight: bold;">head</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/meta.html"><span style="color: #000000; font-weight: bold;">meta</span></a> <span style="color: #000066;">charset</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;utf-8&quot;</span>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/title.html"><span style="color: #000000; font-weight: bold;">title</span></a>&gt;</span>Google Fonts API<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/title.html"><span style="color: #000000; font-weight: bold;">title</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/link.html"><span style="color: #000000; font-weight: bold;">link</span></a> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://fonts.googleapis.com/css?family=Yanone+Kaffeesatz&quot;</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;stylesheet&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/css&quot;</span>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/style.html"><span style="color: #000000; font-weight: bold;">style</span></a> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/css&quot;</span>&gt;</span><br />
<span style="color: #808080; font-style: italic;">&lt;!--</span><br />
<span style="color: #808080; font-style: italic;">body { </span><br />
<span style="color: #808080; font-style: italic;">font-family: &quot;Yanone Kaffeesatz&quot;, serif; font-size: 100px; </span><br />
<span style="color: #808080; font-style: italic;">}</span><br />
<span style="color: #808080; font-style: italic;">--&gt;</span><br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/style.html"><span style="color: #000000; font-weight: bold;">style</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/head.html"><span style="color: #000000; font-weight: bold;">head</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/body.html"><span style="color: #000000; font-weight: bold;">body</span></a>&gt;</span><br />
Hello World<br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/body.html"><span style="color: #000000; font-weight: bold;">body</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/html.html"><span style="color: #000000; font-weight: bold;">html</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;就这么简单，只需链接到http://fonts.googleapis.com/css?family=Yanone+Kaffeesatz，font-family加上&quot;Yanone Kaffeesatz&quot;，就可以使用<a href="http://code.google.com/webfonts/family?family=Yanone+Kaffeesatz">Yanone+Kaffeesatz</a>这个字体了，下面是以上代码的显示结果：</p>
<div class="sorting">
<p style="text-align:center;"><img src="http://file.ludou.org/blog/wp-content/uploads/2010/05/fontsample.png" width="359px" height="109px" alt="Google Font Directory Sample" /></p>
</div>
<p>关于<a href="http://code.google.com/webfonts">Google Font Directory</a>，可以继续参考这些资料：</p>
<ul>
<li><a href="http://code.google.com/intl/zh-CN/apis/webfonts/docs/getting_started.html">Google font API quick start guide </a></li>
<li><a href="http://code.google.com/intl/zh-CN/apis/webfonts/faq.html">Google Font API FAQ</a></li>
</ul>
<p>&nbsp;</p>
<p>本文翻译自：</p>
<ul>
<li><a href="http://net.tutsplus.com/tutorials/html-css-techniques/quick-tip-google-fonts-api-youre-going-to-love-this/">Quick Tip: Google Fonts API: You’re Going to Love This</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ludou.org/google-fonts-api.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PHP获取当前页面的URL</title>
		<link>http://www.ludou.org/get_current_page_url.html</link>
		<comments>http://www.ludou.org/get_current_page_url.html#comments</comments>
		<pubDate>Sun, 02 May 2010 01:57:06 +0000</pubDate>
		<dc:creator>Ludou</dc:creator>
				<category><![CDATA[教程指南]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.ludou.org/?p=1024</guid>
		<description><![CDATA[使用PHP编写程序的时候，我们常常想要获取当前页面的URL。这里提供几个用于获取当前页面URL的函数以及使用方法，你可以获取完整的URL地址，也可以获取去除参数的URL。可以在需要时做个参考。]]></description>
			<content:encoded><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;使用PHP编写程序的时候，我们常常想要获取当前页面的URL。下面提供一个用于获取当前页面URL的函数以及使用方法：</p>
<p><strong>示例一：</strong></p>
<div class="codecolorer-container php default" style="overflow-x: auto;overflow-y: hidden;white-space:nowrap;width:100%;border:1px solid #9F9F9F;width:600px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
<span style="color: #666666; font-style: italic;">// 说明：获取完整URL</span><br />
<br />
<span style="color: #000000; font-weight: bold;">function</span> curPageURL<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$pageURL</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'http'</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;HTTPS&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;on&quot;</span><span style="color: #009900;">&#41;</span> <br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$pageURL</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;s&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$pageURL</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;://&quot;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;SERVER_PORT&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">&quot;80&quot;</span><span style="color: #009900;">&#41;</span> <br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$pageURL</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;SERVER_NAME&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;:&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;SERVER_PORT&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;REQUEST_URI&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span> <br />
&nbsp; &nbsp; <span style="color: #b1b100;">else</span> <br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$pageURL</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;SERVER_NAME&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;REQUEST_URI&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$pageURL</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;定义该函数之后就可以直接调用了：</p>
<div class="codecolorer-container php default" style="overflow-x: auto;overflow-y: hidden;white-space:nowrap;width:100%;border:1px solid #9F9F9F;width:600px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
&nbsp; <span style="color: #b1b100;">echo</span> curPageURL<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;上面的函数可以获取当前页面完整的URL，即你在浏览器地址栏看到的内容。但是，有时候我们不想要URL中的参数（ <strong>?</strong> 号后面的内容），如：http://www.ludou.org/hello.html?u=123，只想获取http://www.ludou.org/hello.html，你可以将以上函数做以下更改：</p>
<p><strong>示例二：</strong></p>
<div class="codecolorer-container php default" style="overflow-x: auto;overflow-y: hidden;white-space:nowrap;width:100%;border:1px solid #9F9F9F;width:600px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
<span style="color: #666666; font-style: italic;">// 说明：获取无参数URL</span><br />
<br />
<span style="color: #000000; font-weight: bold;">function</span> curPageURL<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$pageURL</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'http'</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;HTTPS&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;on&quot;</span><span style="color: #009900;">&#41;</span> <br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$pageURL</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;s&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$pageURL</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;://&quot;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #000088;">$this_page</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;REQUEST_URI&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// 只取 ? 前面的内容</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><a href="http://www.php.net/strpos"><span style="color: #990000;">strpos</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this_page</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;?&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!==</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$this_page</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/reset"><span style="color: #990000;">reset</span></a><span style="color: #009900;">&#40;</span><a href="http://www.php.net/explode"><span style="color: #990000;">explode</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;?&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this_page</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;SERVER_PORT&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">&quot;80&quot;</span><span style="color: #009900;">&#41;</span> <br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$pageURL</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;SERVER_NAME&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;:&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;SERVER_PORT&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$this_page</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span> <br />
&nbsp; &nbsp; <span style="color: #b1b100;">else</span> <br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$pageURL</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;SERVER_NAME&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$this_page</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$pageURL</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p>当然也可以采用 <code>$_SERVER['PHP_SELF']</code> (该变量不返回URL中的参数)，<strong>示例三：</strong></p>
<div class="codecolorer-container php default" style="overflow-x: auto;overflow-y: hidden;white-space:nowrap;width:100%;border:1px solid #9F9F9F;width:600px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
<span style="color: #666666; font-style: italic;">// 说明：获取无参数URL</span><br />
<br />
<span style="color: #000000; font-weight: bold;">function</span> curPageURL<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$pageURL</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'http'</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;HTTPS&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;on&quot;</span><span style="color: #009900;">&#41;</span> <br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$pageURL</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;s&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$pageURL</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;://&quot;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;SERVER_PORT&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">&quot;80&quot;</span><span style="color: #009900;">&#41;</span> <br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$pageURL</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;SERVER_NAME&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;:&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;SERVER_PORT&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'PHP_SELF'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span> <br />
&nbsp; &nbsp; <span style="color: #b1b100;">else</span> <br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$pageURL</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;SERVER_NAME&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'PHP_SELF'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$pageURL</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;另外，<code>$_SERVER['REQUEST_URI']</code> 和 <code>$_SERVER['REQUEST_URL']</code> 是有稍微区别的：<br />
<code>$_SERVER["REQUEST_URI"]</code> 返回完整的路径 ( <code>/directory/file.ext?query=string</code> )<br />
<code>$_SERVER['REQUEST_URL']</code> 只返回文件路径，不包括参数，( <code>/directory/file.ext</code> )，和<code>$_SERVER['PHP_SELF']</code>差不多，只不过在有些服务器上<code>$_SERVER['REQUEST_URL']</code>不可用！</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>注意：</strong>URL使用rewrite规则的时候，$_SERVER['PHP_SELF']和$_SERVER["REQUEST_URL"]可能不会返回你想要的东西</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;最后提醒一点，<code>$_SERVER["REQUEST_URI"] </code>只有 apache 才支持，想要一个获取 <code>$_SERVER['REQUEST_URI'] </code>值的通用解决方案，可以使用以下方案：</p>
<div class="codecolorer-container php default" style="overflow-x: auto;overflow-y: hidden;white-space:nowrap;width:100%;border:1px solid #9F9F9F;width:600px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
<span style="color: #666666; font-style: italic;">// 说明：获取 _SERVER['REQUEST_URI'] 值的通用解决方案</span><br />
<span style="color: #666666; font-style: italic;">// 来源：drupal-5.1 bootstrap.inc</span><br />
<span style="color: #666666; font-style: italic;">// 整理：http://www.codebit.cn/pub/html/php_mysql/tip/other/request_uri</span><br />
<br />
<span style="color: #000000; font-weight: bold;">function</span> request_uri<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><a href="http://www.php.net/isset"><span style="color: #990000;">isset</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REQUEST_URI'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$uri</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REQUEST_URI'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> <br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">else</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><a href="http://www.php.net/isset"><span style="color: #990000;">isset</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'argv'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$uri</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'PHP_SELF'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span><span style="color: #0000ff;">'?'</span><span style="color: #339933;">.</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'argv'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$uri</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'PHP_SELF'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span><span style="color: #0000ff;">'?'</span><span style="color: #339933;">.</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'QUERY_STRING'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$uri</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p>&nbsp;</p>
<p>参考资料：</p>
<ul>
<li><a href="http://php.net/manual/en/reserved.variables.server.php" title="$_SERVER manual">http://php.net/manual/en/reserved.variables.server.php</a></li>
<li><a rel="external nofollow" href="http://www.webcheatsheet.com/php/get_current_page_url.php" title="PHP: How to Get the Current Page URL">http://www.webcheatsheet.com/php/get_current_page_url.php</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ludou.org/get_current_page_url.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress转义评论内容，防止恶意代码</title>
		<link>http://www.ludou.org/wordpress-escape-comments.html</link>
		<comments>http://www.ludou.org/wordpress-escape-comments.html#comments</comments>
		<pubDate>Fri, 30 Apr 2010 02:43:17 +0000</pubDate>
		<dc:creator>Ludou</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.ludou.org/?p=1019</guid>
		<description><![CDATA[当评论者添加评论的时候，WordPress默认不转义评论内容中的所有代码，这就意味着评论者在评论中输入html等客户端代码，其他访客查看到的评论就是被浏览器解释过的html内容。为了防止用户在评论中添加恶意代码，我们应该转义或删除评论内容中的代码！
]]></description>
			<content:encoded><![CDATA[<p><strong>开篇</strong></p>
<hr />
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当评论者添加评论的时候，WordPress默认不转义评论内容中的所有代码，这就意味着评论者在评论中输入 html 代码，其他访客查看到的评论就是被浏览器解释过的html内容！</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;上面说得可能很抽象，你可以尝试给你的文章添加以下评论内容:</p>
<pre>&lt;a href="http://www.example.com"&gt;送钱啦&lt;/a&gt;</pre>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;评论添加成功后，是不是看到一个链接“送钱啦”呢？你点击看一下是什么效果。如果看不到“送钱啦”链接而是以上html代码，恭喜你，你的博客挺安全的，以下内容可看可不看。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;其实上面的代码只是超链接，没有任何恶意。但是你应该提高警惕了，并不是所有的评论者都是善意的，他们可能会往评论内容中添加恶意代码（典型方式：广告链接等）！另外，WordPress 2.9.2及以下版本存在一个漏洞，允许博客管理员身份的用户在评论中添加跨站攻击代码，这就意味这管理员身份可对博客进行<a href="http://zh.wikipedia.org/zh-cn/%E8%B7%A8%E7%B6%B2%E7%AB%99%E6%8C%87%E4%BB%A4%E7%A2%BC" title="跨网站指令码">跨站攻击</a>，当然你可能会问，博客管理员怎么会攻击自己的博客呢？试想，你的博客管理员账号被人破解了怎么办？不过这样的概率挺小哦。</p>
<p>&nbsp;</p>
<p><strong>解决办法</strong></p>
<hr />
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;即使你的博客管理后台的管理员身份被人破解了，一般他也不会同时破解你的网站空间ftp账号，所以他也更改不了你的网站文件，你可以更改WordPress源文件代码过滤评论，这样不管是谁的评论都过滤一遍。用文本编辑器打开WordPress安装目录下的wp-comments-post.php，搜索以下代码：</p>
<div class="codecolorer-container php default" style="overflow-x: auto;overflow-y: hidden;white-space:nowrap;width:100%;border:1px solid #9F9F9F;width:600px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000088;">$comment_content</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span> <a href="http://www.php.net/isset"><span style="color: #990000;">isset</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'comment'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> ? <a href="http://www.php.net/trim"><span style="color: #990000;">trim</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'comment'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;将其更改成：</p>
<div class="codecolorer-container php default" style="overflow-x: auto;overflow-y: hidden;white-space:nowrap;width:100%;border:1px solid #9F9F9F;width:600px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000088;">$comment_content</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span> <a href="http://www.php.net/isset"><span style="color: #990000;">isset</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'comment'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> ? <a href="http://www.php.net/trim"><span style="color: #990000;">trim</span></a><span style="color: #009900;">&#40;</span><a href="http://www.php.net/htmlspecialchars"><span style="color: #990000;">htmlspecialchars</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'comment'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">ENT_QUOTES</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以上方法是将评论内容中的代码转义，这样浏览器就不解释这部分代码了，代码也不会起任何作用，并且可以直接看到评论中的代码。这么改的好处是可以在评论中展示代码，另外可以看看到底哪些人在评论中添加了恶意代码，<a href="http://www.ludou.org/wordpress-home-post-rand-show.html#comment-650">点此查看效果</a>。如果你希望去除所有代码标签，只留下文字内容：可以做如下更改：</p>
<div class="codecolorer-container php default" style="overflow-x: auto;overflow-y: hidden;white-space:nowrap;width:100%;border:1px solid #9F9F9F;width:600px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000088;">$comment_content</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span> <a href="http://www.php.net/isset"><span style="color: #990000;">isset</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'comment'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> ? <a href="http://www.php.net/trim"><span style="color: #990000;">trim</span></a><span style="color: #009900;">&#40;</span><a href="http://www.php.net/strip_tags"><span style="color: #990000;">strip_tags</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'comment'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果你想在评论内容中允许部分html标签，如&lt;a&gt;、&lt;strong&gt;、&lt;pre&gt;等，你可以这么改：</p>
<div class="codecolorer-container php default" style="overflow-x: auto;overflow-y: hidden;white-space:nowrap;width:100%;border:1px solid #9F9F9F;width:600px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000088;">$comment_content</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span> <a href="http://www.php.net/isset"><span style="color: #990000;">isset</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'comment'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> ? <a href="http://www.php.net/trim"><span style="color: #990000;">trim</span></a><span style="color: #009900;">&#40;</span><a href="http://www.php.net/strip_tags"><span style="color: #990000;">strip_tags</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'comment'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'&lt;a&gt;&lt;strong&gt;&lt;pre&gt;'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;关于strip_tags过滤函数，可以看看php的<a rel="external nofollow" href="http://www.w3school.com.cn/php/func_string_strip_tags.asp" title="strip_tags">strip_tags说明文档</a></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>总之还是那句话，为了你的网站安全，不要信任用户输入的任何内容！</strong></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以上内容在WordPress 2.9.2中测试，其他版本就留给你自己去测试了，基本上都差不多！补充一点，WordPress会不会转义评论内容，不仅由WordPress源程序决定，而且可以在主题或插件中控制。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ludou.org/wordpress-escape-comments.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>使用PHP轻松监控你的网站运行状态</title>
		<link>http://www.ludou.org/php-web-server-monitor.html</link>
		<comments>http://www.ludou.org/php-web-server-monitor.html#comments</comments>
		<pubDate>Sun, 18 Apr 2010 04:01:12 +0000</pubDate>
		<dc:creator>Ludou</dc:creator>
				<category><![CDATA[教程指南]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.ludou.org/?p=1004</guid>
		<description><![CDATA[为了确保你的Web服务器（当然包括虚拟主机）始终是可以正常访问的，你得时刻监控它，但问题是你总不能时刻守在电脑前，监控你的网站是否可以正常访问吧？本教程将教你如何轻松地编写一个PHP程序来自动监控你的Web服务器，并且在服务器无法访问（通俗讲：挂掉）的时候，给你发送邮件和免费短信提醒。]]></description>
			<content:encoded><![CDATA[<p><strong>预期准备：</strong></p>
<ol>
<li>一个<a href="http://mail.139.com/" title="申请139邮箱">139邮箱</a>，收到邮件后，可以免费给你短信提醒。如果你不需要短信提醒功能，用什么邮箱都可以</li>
<p></p>
<li>另外一个可以运行PHP文件的Web服务器（相当于监控服务器），现在免费的PHP网站空间很多，上网搜搜。如果将PHP监控文件放到你自己的服务器上，这个监控文件也就等于摆设，服务器挂掉了，它也无法运行了，怎么能起到监控作用呢？</li>
<p>
</ol>
<p>&nbsp;</p>
<p><strong>1、创建监控文件</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;打开你喜欢的文本编辑器，新建一个PHP文件，命名为<em>monitor.php</em>。这部分代码也很简单，就是两个函数，一个用于测试服务器是否可以访问，另一个用于给你发送邮件通知</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;复制粘贴以下代码至<em>monitor.php</em>文件:</p>
<div class="codecolorer-container php default" style="overflow-x: auto;overflow-y: hidden;white-space:nowrap;width:100%;border:1px solid #9F9F9F;width:600px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <br />
<span style="color: #000000; font-weight: bold;">function</span> check<span style="color: #009900;">&#40;</span><span style="color: #000088;">$host</span><span style="color: #339933;">,</span> <span style="color: #000088;">$find</span><span style="color: #009900;">&#41;</span> <br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$fp</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/fsockopen"><span style="color: #990000;">fsockopen</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$host</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">80</span><span style="color: #339933;">,</span> <span style="color: #000088;">$errno</span><span style="color: #339933;">,</span> <span style="color: #000088;">$errstr</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span> <br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$errstr</span> (<span style="color: #006699; font-weight: bold;">$errno</span>)<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000088;">$header</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;GET / HTTP/1.1<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000088;">$header</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;Host: <span style="color: #006699; font-weight: bold;">$host</span><span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000088;">$header</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;Connection: close<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;<a href="http://www.php.net/fputs"><span style="color: #990000;">fputs</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <span style="color: #000088;">$header</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><a href="http://www.php.net/feof"><span style="color: #990000;">feof</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000088;">$str</span> <span style="color: #339933;">.=</span> <a href="http://www.php.net/fgets"><span style="color: #990000;">fgets</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1024</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;<a href="http://www.php.net/fclose"><span style="color: #990000;">fclose</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fp</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span><a href="http://www.php.net/strpos"><span style="color: #990000;">strpos</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$str</span><span style="color: #339933;">,</span> <span style="color: #000088;">$find</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!==</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #000000; font-weight: bold;">function</span> alert<span style="color: #009900;">&#40;</span><span style="color: #000088;">$host</span><span style="color: #009900;">&#41;</span> <br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">/* 下面的youremail@139.com改成你的邮箱地址 */</span><br />
&nbsp; &nbsp; <a href="http://www.php.net/mail"><span style="color: #990000;">mail</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'youremail@139.com'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Monitoring'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$host</span><span style="color: #339933;">.</span><span style="color: #0000ff;">' down'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #666666; font-style: italic;">/* 下面的网址改成你要监控的网址 */</span><br />
<span style="color: #000088;">$host</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'www.ludou.org'</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">/* 下面的ludou.org改成你的网站首页源代码中的一段特殊字符串 */</span> <br />
<span style="color: #000088;">$find</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'ludou.org'</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>check<span style="color: #009900;">&#40;</span><span style="color: #000088;">$host</span><span style="color: #339933;">,</span> <span style="color: #000088;">$find</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <br />
&nbsp; &nbsp; alert<span style="color: #009900;">&#40;</span><span style="color: #000088;">$host</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;第一个函数<code>check()</code>，需要传递两个参数：第一<code>$host</code>是你想要监控的网站（如：www.ludou.org）；第二个$find用于查找你的网站首页源代码中的一段字符串，其实添加这个的目的是出于安全考虑，如果你的首页包含这段字符串，说明你的网页没有被修改（如：被骇客恶意修改）。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果你的网站无法访问或者安全字符串找不到，将会运行alert()函数，给你发送告警邮件。请确保你的监控主机可以正常使用PHP的发送邮件函数<code>mail()</code>，否则将无法发送邮件，替代方法是使用phpmailer</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;好了，保存<em>monitor.php</em>，并上传至你的监控服务器上。</p>
<p>&nbsp;</p>
<p><strong>2、设置一个计划任务</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;现在问题又来了，要想让<em>monitor.php</em>运行，我们得在浏览器中打开<em>http://mymonitoringserver.com/monitor.php</em>才能检测服务器状态，这样的监控也等于白搭。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;解决这个问题的办法是使用计划任务（Cron Job），大多数虚拟主机都提供了这个功能，它可以在你设定的时刻自动地运行php脚本（例如每小时运行一次<em>monitor.php</em>），关于计划任务的设定可根据各人的主机来设定，遇到问题可以联系主机的客服。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;设定好计划任务的运行时间间隔，还要设置计划任务的命令，这里提供一条样例：<br />
<code>lynx > /dev/null -dump http://mymonitoringserver.com/monitor.php</code></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果你的主机不提供计划任务（Cron Job）的功能，这里给你推荐一个免费提供计划任务的网站，http://www.setcronjob.com/，申请一个账号，进行简单的设置就可以免费使用计划任务功能了。这里是一个功能预览，可以先练练手http://www.setcronjob.com/cp.php</p>
<p>&nbsp;</p>
<p><strong>后记：</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;到此本教程就结束，是不是感觉特麻烦呢？这么多代码，这么多设置，太麻烦了吧？确实有点，但是上面提供的是一种方法，一种原理，了解了解，练练手也没什么大不了的。其实有很多网站提供免费的网站监控功能，只需输入网址和邮箱地址就可以帮你监控网站了，你知道的话，能否给推荐个？</p>
<p>&nbsp;</p>
<p>参考文章：<br />
<a href="http://www.catswhocode.com/blog/how-to-easily-monitor-your-web-server-using-php">How to easily monitor your web server using PHP</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ludou.org/php-web-server-monitor.html/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>
