<?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; 网站</title>
	<atom:link href="http://www.5bay.cn/tag/%E7%BD%91%E7%AB%99/feed" rel="self" type="application/rss+xml" />
	<link>http://www.5bay.cn</link>
	<description>让你我停泊~</description>
	<lastBuildDate>Fri, 16 Dec 2011 09:18:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Android在线开发工具 App Inventor</title>
		<link>http://www.5bay.cn/android%e7%ac%94%e8%ae%b0/androidzaixiankaifagongjuappinventor.html</link>
		<comments>http://www.5bay.cn/android%e7%ac%94%e8%ae%b0/androidzaixiankaifagongjuappinventor.html#comments</comments>
		<pubDate>Wed, 29 Jun 2011 06:20:36 +0000</pubDate>
		<dc:creator>江小邪</dc:creator>
				<category><![CDATA[Android笔记]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[div]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[上传]]></category>
		<category><![CDATA[属性]]></category>
		<category><![CDATA[工具]]></category>
		<category><![CDATA[幸福]]></category>
		<category><![CDATA[成功]]></category>
		<category><![CDATA[浏览器]]></category>
		<category><![CDATA[组件]]></category>
		<category><![CDATA[网站]]></category>
		<category><![CDATA[连接]]></category>
		<category><![CDATA[页面]]></category>

		<guid isPermaLink="false">http://www.5bay.cn/?p=578</guid>
		<description><![CDATA[<a href="http://www.5bay.cn/android%e7%ac%94%e8%ae%b0/androidzaixiankaifagongjuappinventor.html"><img align="left" hspace="5" width="150" src="http://images.cnblogs.com/cnblogs_com/shenzhoulong/app%20inventor/20110525/projects.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>最近在博客园看到一篇报道关于一个人好像是别出心裁的用android程序求婚，最后成功了，在留言部分看到很多园友说：好浪漫，好幸福；文章中提到的一个在线开发程序，叫做app invertor，于是在网上稍微看了一下，下班回到家之后马上下载，起先是用迅雷下载的，结果下载进度一点也不动，于是乎，***用IE9 下载，下载了两次没有成功，原因可能是保存路径有问题，建议先保存到桌面，然后再安装，下载地址如下http://dl.google.com/dl/appinventor/installers/windows/appinventor_setup_installer_v_1_2.exe（建议***）；下载好之后安装就可以了，好像官方建议安装过程中的路径不要修改，以防在加载模拟器的时候找不到路径，当然你也可以自己定义路径，不过在使用模拟器的时候需要人工的输入模拟器的路径，以后就不会出现这种问题了，下面就可以进入按android的在线编辑页面了，请在浏览器的地址栏中输入：http://appinventor.googlelabs.com/ 就可以看到了，先放图··· 第一次进入是会出现下面的界面，请点击new，并填写相应的项目名称即可，我填写的是First 进入First项目，界面如下 &#160; 整个界面简洁，横向的可以分为四个部分，分别为palette（字典意思是调色板，就是工具），viewer（指示器），components（组件），properties（属性）； Palette：为我们所有将要用到的控件 Viewer：为android模拟器面板，可拖放控件至此 Components：Viewer中的空间都会在此显示其控件名称 Properties：当某个控件处于编辑状态时，显示其属性可编辑 下面建立我自己的第一个Demo 1.修改标题 2.拖放控件，修改属性 3.从本地上传文件 5.此时是图片正在上传图片，因为我们是在线编辑的，所以建议各位不要上传太大的图片 6.点击右上角的“Blocks Editor”按钮进入编辑界面，此时会显示正在下载，即从网站现在我们的程序，此时有可能会要求下载java6，点击下载即可，下载完成之后如果你的app inventor路径不是默认的，需要填写仿真器的路径 &#160; &#160; 7.连接本人的android2.2手机效果如下 &#160; 作者：神舟龙 出处：http://www.cnblogs.com/shenzhoulong/ &#160; 相关博文2010年05月23日 -- mysql优化及全文搜索 (0)2010年07月26日 -- PHP和Socket简介 (0)2010年07月26日 -- Ajax的工作原理 (1)2010年07月26日 -- AJAX的各种控件和类库 (0)2010年07月26日 -- 使用Ajax时的十个常犯的错误 (0)2010年07月26日 -- 基于JSON的高级AJAX开发技术 (0)2010年05月23日 -- Rsync详解 (0)2010年05月23日 -- 《高性能网站建设指南》读书笔记 (0)2010年07月28日 -- ASP防注入新方式，希望对大家是有用的 (0)2010年07月28日 -- [...]]]></description>
			<content:encoded><![CDATA[<div id="cnblogs_post_body">
<p>最近在博客园看到一篇报道关于一个人好像是别出心裁的用android程序求婚，最后成功了，在留言部分看到很多园友说：好浪漫，好幸福；文章中提到的一个在线开发程序，叫做app invertor，于是在网上稍微看了一下，下班回到家之后马上下载，起先是用迅雷下载的，结果下载进度一点也不动，于是乎，***用IE9 下载，下载了两次没有成功，原因可能是保存路径有问题，建议先保存到桌面，然后再安装，下载地址如下<a href="http://dl.google.com/dl/appinventor/installers/windows/appinventor_setup_installer_v_1_2.exe">http://dl.google.com/dl/appinventor/installers/windows/appinventor_setup_installer_v_1_2.exe</a>（建议***）；下载好之后安装就可以了，好像官方建议安装过程中的路径不要修改，以防在加载模拟器的时候找不到路径，当然你也可以自己定义路径，不过在使用模拟器的时候需要人工的输入模拟器的路径，以后就不会出现这种问题了，下面就可以进入按android的在线编辑页面了，请在浏览器的地址栏中输入：<a href="http://appinventor.googlelabs.com/">http://appinventor.googlelabs.com/</a> 就可以看到了，先放图···</p>
<p>第一次进入是会出现下面的界面，请点击new，并填写相应的项目名称即可，我填写的是First</p>
<p><img src="http://images.cnblogs.com/cnblogs_com/shenzhoulong/app%20inventor/20110525/projects.png" border="0" alt="" width="1000" height="528" /></p>
<p>进入First项目，界面如下<span id="more-578"></span></p>
<p><img src="http://images.cnblogs.com/cnblogs_com/shenzhoulong/app%20inventor/20110525/1.jpg" border="0" alt="" width="1000" height="538" /></p>
<p>&nbsp;</p>
<p>整个界面简洁，横向的可以分为四个部分，分别为palette（字典意思是调色板，就是工具），viewer（指示器），components（组件），properties（<a href="http://www.5bay.cn/tag/%E5%B1%9E%E6%80%A7" class="st_tag internal_tag" rel="tag" title="标签 属性 下的日志">属性</a>）；</p>
<p>Palette：为我们所有将要用到的控件</p>
<p>Viewer：为android模拟器面板，可拖放控件至此</p>
<p>Components：Viewer中的空间都会在此显示其控件名称</p>
<p>Properties：当某个控件处于编辑状态时，显示其属性可编辑</p>
<p>下面建立我自己的第一个Demo</p>
<p>1.修改标题</p>
<p><img src="http://images.cnblogs.com/cnblogs_com/shenzhoulong/app%20inventor/20110525/2.jpg" border="0" alt="" width="1000" height="543" /></p>
<p>2.拖放控件，修改属性</p>
<p><img src="http://images.cnblogs.com/cnblogs_com/shenzhoulong/app%20inventor/20110525/3.jpg" border="0" alt="" width="1000" height="544" /></p>
<p>3.从本地上传文件</p>
<p><img src="http://images.cnblogs.com/cnblogs_com/shenzhoulong/app%20inventor/20110525/4.jpg" border="0" alt="" width="1000" height="328" /></p>
<p>5.此时是图片正在上传图片，因为我们是在线编辑的，所以建议各位不要上传太大的图片</p>
<p><img src="http://images.cnblogs.com/cnblogs_com/shenzhoulong/app%20inventor/20110525/5.jpg" border="0" alt="" width="758" height="112" /></p>
<p>6.点击右上角的“Blocks Editor”按钮进入编辑界面，此时会显示正在下载，即从网站现在我们的程序，此时有可能会要求下载java6，点击下载即可，下载完成之后如果你的app inventor路径不是默认的，需要填写仿真器的路径</p>
<p><img src="http://images.cnblogs.com/cnblogs_com/shenzhoulong/app%20inventor/20110525/6.jpg" border="0" alt="" width="321" height="141" /></p>
<p><img src="http://images.cnblogs.com/cnblogs_com/shenzhoulong/app%20inventor/20110525/7.jpg" border="0" alt="" width="1000" height="489" /></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>7.连接本人的android2.2手机效果如下</p>
<p><img src="http://images.cnblogs.com/cnblogs_com/shenzhoulong/app%20inventor/20110525/8.png" border="0" alt="" width="236" height="447" /></p>
<p>&nbsp;</p>
</div>
<div id="MySignature">
<div>作者：<a href="http://www.cnblogs.com/shenzhoulong/" target="_blank">神舟龙</a></div>
<div>出处：<a href="http://www.cnblogs.com/shenzhoulong/" target="_blank">http://www.cnblogs.com/shenzhoulong/</a></div>
</div>
<p>&nbsp;</p>
<h2  class="related_post_title">相关博文</h2><ul class="related_post"><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/mysqlyouhuajiquanwensousuo.html" title="mysql优化及全文搜索">mysql优化及全文搜索</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/phpeecketee.html" title="PHP和Socket简介">PHP和Socket简介</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxeeee.html" title="Ajax的工作原理">Ajax的工作原理</a> (1)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajax.html" title="AJAX的各种控件和类库">AJAX的各种控件和类库</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eejaxeeeeee.html" title="使用Ajax时的十个常犯的错误">使用Ajax时的十个常犯的错误</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eesoneeajaxeehuai.html" title="基于JSON的高级AJAX开发技术">基于JSON的高级AJAX开发技术</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/rsyncxiangjie.html" title="Rsync详解">Rsync详解</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/gaoxingnengwangzhanjianshezhinandushubiji.html" title="《高性能网站建设指南》读书笔记">《高性能网站建设指南》读书笔记</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/aspeaojie.html" title="ASP防注入新方式，希望对大家是有用的">ASP防注入新方式，希望对大家是有用的</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/eeprn-asp-jpg.html" title="如何删除删不掉的”PRN.asp:.jpg”">如何删除删不掉的”PRN.asp:.jpg”</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/eeeeeeee-2.html" title="防止网卡被禁用的具体配置方法">防止网卡被禁用的具体配置方法</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eeeeeeee.html" title="最令PHP初学者头痛的十四个问题">最令PHP初学者头痛的十四个问题</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/phpeeeeeeeehuai.html" title="PHP对文本数据库的基本操作方法">PHP对文本数据库的基本操作方法</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxeeaoe.html" title="AJAX应用程序开发七宗罪">AJAX应用程序开发七宗罪</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/innerhtmleenertexteeterhtmlqia.html" title="innerHTML、innerText和outerHTML的用法">innerHTML、innerText和outerHTML的用法</a> (0)</li></ul>
	标签Tags：<a href="http://www.5bay.cn/tag/android" title="android" rel="tag">android</a>, <a href="http://www.5bay.cn/category/android%e7%ac%94%e8%ae%b0" title="Android笔记" rel="tag">Android笔记</a>, <a href="http://www.5bay.cn/tag/div" title="div" rel="tag">div</a>, <a href="http://www.5bay.cn/tag/google" title="google" rel="tag">google</a>, <a href="http://www.5bay.cn/tag/%E4%B8%8A%E4%BC%A0" title="上传" rel="tag">上传</a>, <a href="http://www.5bay.cn/tag/%E5%B1%9E%E6%80%A7" title="属性" rel="tag">属性</a>, <a href="http://www.5bay.cn/tag/%E5%B7%A5%E5%85%B7" title="工具" rel="tag">工具</a>, <a href="http://www.5bay.cn/tag/%E5%B9%B8%E7%A6%8F" title="幸福" rel="tag">幸福</a>, <a href="http://www.5bay.cn/tag/%E6%88%90%E5%8A%9F" title="成功" rel="tag">成功</a>, <a href="http://www.5bay.cn/tag/%E6%B5%8F%E8%A7%88%E5%99%A8" title="浏览器" rel="tag">浏览器</a>, <a href="http://www.5bay.cn/tag/%E7%BB%84%E4%BB%B6" title="组件" rel="tag">组件</a>, <a href="http://www.5bay.cn/tag/%E7%BD%91%E7%AB%99" title="网站" rel="tag">网站</a>, <a href="http://www.5bay.cn/tag/%E8%BF%9E%E6%8E%A5" title="连接" rel="tag">连接</a>, <a href="http://www.5bay.cn/tag/%E9%A1%B5%E9%9D%A2" title="页面" rel="tag">页面</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.5bay.cn/android%e7%ac%94%e8%ae%b0/androidzaixiankaifagongjuappinventor.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP防注入新方式，希望对大家是有用的</title>
		<link>http://www.5bay.cn/server-building/aspeaojie.html</link>
		<comments>http://www.5bay.cn/server-building/aspeaojie.html#comments</comments>
		<pubDate>Wed, 28 Jul 2010 02:00:27 +0000</pubDate>
		<dc:creator>江小邪</dc:creator>
				<category><![CDATA[服务器构建&安全]]></category>
		<category><![CDATA[ASP]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[url]]></category>
		<category><![CDATA[人]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[工具]]></category>
		<category><![CDATA[数据]]></category>
		<category><![CDATA[数据库]]></category>
		<category><![CDATA[方法]]></category>
		<category><![CDATA[程序]]></category>
		<category><![CDATA[类]]></category>
		<category><![CDATA[网站]]></category>
		<category><![CDATA[诫]]></category>
		<category><![CDATA[连接]]></category>
		<category><![CDATA[防注入]]></category>

		<guid isPermaLink="false">http://www.5bay.cn/?p=527</guid>
		<description><![CDATA[<a href="http://www.5bay.cn/server-building/aspeaojie.html"><img align="left" hspace="5" width="150" height="150" src="http://www.5bay.cn/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>最近我的网站经常把js脚本注入到数据，清除了又来。先后在网上找了很多的方法，还是没有用的，十分恼火。 首先先告诉大家一个批量清除代码的sql语句。 update 表名 set 字段=replace(字段,&#8217;script src=http://3b3.org/c.js&#62; 1、分析那些无聊的人，或者有些病态的人究竟做了些什么 。 通过iis的日志或者microsoft urlscan 日志查看，在一些通过id查询数据库内容的时候后面被人加了一段很长的字符窜。 %%3B%%44%%65%%43%%4C%%61%%52%%45%%类似这样的字符窜，一定是其他的方式编码 首先我们先用工具分析下如此之长的字符窜究竟包含了些什么内容。 通过批量替换工具把%%全部替换成空，然后把得到的字符串通过其他的转码工具，转成字符窜。 ;DeCLaRE @S NvArCHaR(4000);SeT @S=CaSt(0&#215;45这里代码去掉了06F007200 aS NvArChAR(4000));ExEc(@S);&#8211; 就是一段与通过id查询数据库同时执行的sql，就给数据库某些表的字段加入了js病毒连接。 2、所以我们的原来的防sql注入的字符串就需要升级了。 如果过滤16进制 ; 对应 3B DeCLaRE 对应 4465434C615245 @ 对应 40 NvArCHaR 对应 4E76417243486152 set 对应 536554 CaSt 对应 43615374 as 对应 6153 exec 对应 45784563 - 对应 2D 把16进制的代码用&#124;隔开放到injdata 里面 injdata = [...]]]></description>
			<content:encoded><![CDATA[<p>最近我的网站经常把js脚本注入到数据，清除了又来。先后在网上找了很多的方法，还是没有用的，十分恼火。</p>
<p>首先先告诉大家一个批量清除代码的sql语句。</p>
<p>update 表名 set 字段=replace(字段,&#8217;script src=http://3b3.org/c.<a href="http://www.5bay.cn/tag/js" class="st_tag internal_tag" rel="tag" title="标签 js 下的日志">js</a>&gt;<br />
1、分析那些无聊的人，或者有些病态的人究竟做了些什么 。</p>
<p>通过iis的日志或者microsoft urlscan 日志查看，在一些通过id查询数据库内容的时候后面被人加了一段很长的字符窜。</p>
<p>%%3B%%44%%65%%43%%4C%%61%%52%%45%%类似这样的字符窜，一定是其他的方式编码</p>
<p>首先我们先用工具分析下如此之长的字符窜究竟包含了些什么内容。</p>
<p>通过批量替换工具把%%全部替换成空，然后把得到的字符串通过其他的转码工具，转成字符窜。</p>
<p>;DeCLaRE @S NvArCHaR(4000);SeT @S=CaSt(0&#215;45这里代码去掉了06F007200 aS NvArChAR(4000));ExEc(@S);&#8211;</p>
<p>就是一段与通过id查询数据库同时执行的sql，就给数据库某些表的字段加入了js病毒连接。</p>
<p>2、所以我们的原来的防sql注入的字符串就需要升级了。</p>
<p>如果过滤16进制</p>
<p>; 对应 3B</p>
<p>DeCLaRE 对应 4465434C615245</p>
<p>@ 对应 40</p>
<p>NvArCHaR 对应 4E76417243486152</p>
<p>set 对应 536554</p>
<p>CaSt 对应 43615374</p>
<p>as 对应 6153</p>
<p>exec 对应 45784563</p>
<p>- 对应 2D</p>
<p>把16进制的代码用|隔开放到injdata 里面</p>
<p>injdata = “3B|2D|&#8217;|;|and|exec|insert|select|delete%20from|update|count|”</p>
<p>然后自己测试下，程序是否拦击了这些16进制的代码，本人测试过是可以拦击的，如果不加入这些是不拦击的</p>
<p>照样可以注入到数据库。</p>
<h2  class="related_post_title">相关博文</h2><ul class="related_post"><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eesoneeajaxeehuai.html" title="基于JSON的高级AJAX开发技术">基于JSON的高级AJAX开发技术</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eeeeeeee.html" title="最令PHP初学者头痛的十四个问题">最令PHP初学者头痛的十四个问题</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/phpeefangeredoc.html" title="php的文档句法(heredoc)<<<和PHP字符串操作">php的文档句法(heredoc)<<<和PHP字符串操作</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eejaxeeeeee.html" title="使用Ajax时的十个常犯的错误">使用Ajax时的十个常犯的错误</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/phpeezhanchang.html" title="PHP安全之数据过滤">PHP安全之数据过滤</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/rsyncxiangjie.html" title="Rsync详解">Rsync详解</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/network-programming/phpfengzhuangchangyongjavascriptweijsleiyibiankuaisudiaoyong.html" title="PHP封装常用Javascript为JS类以便快速调用">PHP封装常用Javascript为JS类以便快速调用</a> (1)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/mysqlyouhuajiquanwensousuo.html" title="mysql优化及全文搜索">mysql优化及全文搜索</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/phpeeeeeeeehuai.html" title="PHP对文本数据库的基本操作方法">PHP对文本数据库的基本操作方法</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxeeee.html" title="Ajax的工作原理">Ajax的工作原理</a> (1)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajax.html" title="AJAX的各种控件和类库">AJAX的各种控件和类库</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/xmlhttpe.html" title="XMLHTTP对象封装技术">XMLHTTP对象封装技术</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxxuan.html" title="ajax的缺点">ajax的缺点</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/eacceleratoryumemcachedequbieyuyongtu.html" title="eAccelerator与memcache的区别与用途">eAccelerator与memcache的区别与用途</a> (2)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/phpeecketee.html" title="PHP和Socket简介">PHP和Socket简介</a> (0)</li></ul>
	标签Tags：<a href="http://www.5bay.cn/tag/asp" title="ASP" rel="tag">ASP</a>, <a href="http://www.5bay.cn/tag/js" title="js" rel="tag">js</a>, <a href="http://www.5bay.cn/tag/sql" title="sql" rel="tag">sql</a>, <a href="http://www.5bay.cn/tag/url" title="url" rel="tag">url</a>, <a href="http://www.5bay.cn/tag/%E4%BA%BA" title="人" rel="tag">人</a>, <a href="http://www.5bay.cn/tag/%E4%BB%A3%E7%A0%81" title="代码" rel="tag">代码</a>, <a href="http://www.5bay.cn/tag/%E5%B7%A5%E5%85%B7" title="工具" rel="tag">工具</a>, <a href="http://www.5bay.cn/tag/%E6%95%B0%E6%8D%AE" title="数据" rel="tag">数据</a>, <a href="http://www.5bay.cn/tag/%E6%95%B0%E6%8D%AE%E5%BA%93" title="数据库" rel="tag">数据库</a>, <a href="http://www.5bay.cn/tag/%E6%96%B9%E6%B3%95" title="方法" rel="tag">方法</a>, <a href="http://www.5bay.cn/category/server-building" title="服务器构建&amp;安全" rel="tag">服务器构建&amp;安全</a>, <a href="http://www.5bay.cn/tag/%E7%A8%8B%E5%BA%8F" title="程序" rel="tag">程序</a>, <a href="http://www.5bay.cn/tag/%E7%B1%BB" title="类" rel="tag">类</a>, <a href="http://www.5bay.cn/tag/%E7%BD%91%E7%AB%99" title="网站" rel="tag">网站</a>, <a href="http://www.5bay.cn/tag/e" title="诫" rel="tag">诫</a>, <a href="http://www.5bay.cn/tag/%E8%BF%9E%E6%8E%A5" title="连接" rel="tag">连接</a>, <a href="http://www.5bay.cn/tag/%E9%98%B2%E6%B3%A8%E5%85%A5" title="防注入" rel="tag">防注入</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.5bay.cn/server-building/aspeaojie.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>如何删除删不掉的”PRN.asp:.jpg”</title>
		<link>http://www.5bay.cn/server-building/eeprn-asp-jpg.html</link>
		<comments>http://www.5bay.cn/server-building/eeprn-asp-jpg.html#comments</comments>
		<pubDate>Wed, 28 Jul 2010 01:59:36 +0000</pubDate>
		<dc:creator>江小邪</dc:creator>
				<category><![CDATA[服务器构建&安全]]></category>
		<category><![CDATA[ASP]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[属性]]></category>
		<category><![CDATA[工具]]></category>
		<category><![CDATA[操作系统]]></category>
		<category><![CDATA[系统]]></category>
		<category><![CDATA[网站]]></category>
		<category><![CDATA[隐藏]]></category>

		<guid isPermaLink="false">http://www.5bay.cn/?p=525</guid>
		<description><![CDATA[<a href="http://www.5bay.cn/server-building/eeprn-asp-jpg.html"><img align="left" hspace="5" width="150" height="150" src="http://www.5bay.cn/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>一个用户的网站被挂马 很多以prn.开头的文件&#8230;这个文件其实是windows禁止建立的..但是可以在dos建立 所以在dos下用更改属性 结果不让改 然后想恢复权限 不让恢复 ，网站的跟目录被加了几个文件，怎么删也删不掉， prn.gupiao.asp prn.liuhe.asp com1.shouji.asp 或是COM2，COM8等文件主，   第一步：打开工具&#62;文件夹选项&#62;查看&#62;有一项为”隐藏受保护的操作系统文件(推荐)”,去掉其前边的钩,选中”显示所有文件和文件夹” 第二步：建立一个del.bat的文件 把以下代码黏贴进去&#8230; DEL /F /A /Q \\?\%1 RD /S /Q \\?\%1 然后要删那个文件就把那个文件拖进去即可&#8230;. 但是又遇到问题了&#8230;有一个顽固的&#8230;PRN.asp;.jpg 拖进去也删不掉&#8230;. 不过没问题 这个也可以删&#8230;先把这个文件的文件夹里的其他的文件备份&#8230; 然后把文件夹拖过去&#8230;^_^ 删了吧&#8230; 然后把备份的文件 拷回去 ok了 相关博文2010年05月23日 -- Rsync详解 (0)2010年07月28日 -- ASP防注入新方式，希望对大家是有用的 (0)2010年05月23日 -- mysql优化及全文搜索 (0)2011年06月29日 -- Android在线开发工具 App Inventor (0)2011年06月29日 -- 开源软件的盈利模式 (0)2011年06月29日 -- 资深设计师Tony Ventrice解析手机游戏开发的四个层次 (0)2010年07月26日 [...]]]></description>
			<content:encoded><![CDATA[<p>一个用户的网站被挂马 很多以prn.开头的文件&#8230;这个文件其实是windows禁止建立的..但是可以在dos建立</p>
<p>所以在dos下用更改属性 结果不让改</p>
<p>然后想恢复权限 不让恢复 ，网站的跟目录被加了几个文件，怎么删也删不掉，</p>
<p>prn.gupiao.<a href="http://www.5bay.cn/tag/asp" class="st_tag internal_tag" rel="tag" title="标签 ASP 下的日志">asp</a></p>
<p>prn.liuhe.asp</p>
<p>com1.shouji.asp</p>
<p>或是COM2，COM8等文件主，  </p>
<p>第一步：打开工具&gt;文件夹选项&gt;查看&gt;有一项为”隐藏受保护的操作系统文件(推荐)”,去掉其前边的钩,选中”显示所有文件和文件夹”</p>
<p>第二步：建立一个del.bat的文件 把以下代码黏贴进去&#8230;</p>
<p>DEL /F /A /Q \\?\%1</p>
<p>RD /S /Q \\?\%1<br />
然后要删那个文件就把那个文件拖进去即可&#8230;.</p>
<p>但是又遇到问题了&#8230;有一个顽固的&#8230;PRN.asp;.jpg 拖进去也删不掉&#8230;.</p>
<p>不过没问题 这个也可以删&#8230;先把这个文件的文件夹里的其他的文件备份&#8230;</p>
<p>然后把文件夹拖过去&#8230;^_^ 删了吧&#8230;</p>
<p>然后把备份的文件 拷回去 ok了</p>
<h2  class="related_post_title">相关博文</h2><ul class="related_post"><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/rsyncxiangjie.html" title="Rsync详解">Rsync详解</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/aspeaojie.html" title="ASP防注入新方式，希望对大家是有用的">ASP防注入新方式，希望对大家是有用的</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/mysqlyouhuajiquanwensousuo.html" title="mysql优化及全文搜索">mysql优化及全文搜索</a> (0)</li><li>2011年06月29日 -- <a href="http://www.5bay.cn/android%e7%ac%94%e8%ae%b0/androidzaixiankaifagongjuappinventor.html" title="Android在线开发工具 App Inventor">Android在线开发工具 App Inventor</a> (0)</li><li>2011年06月29日 -- <a href="http://www.5bay.cn/me/kaiyuanruanjiandeyinglimoshi.html" title="开源软件的盈利模式">开源软件的盈利模式</a> (0)</li><li>2011年06月29日 -- <a href="http://www.5bay.cn/game-development/zishenshejishitonyventricejiexishoujiyouxikaifadesigecengci.html" title="资深设计师Tony Ventrice解析手机游戏开发的四个层次">资深设计师Tony Ventrice解析手机游戏开发的四个层次</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/phpeecketee.html" title="PHP和Socket简介">PHP和Socket简介</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/peeeeee.html" title="深入探讨PHP中的内存管理问题">深入探讨PHP中的内存管理问题</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxeeee.html" title="Ajax的工作原理">Ajax的工作原理</a> (1)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajax.html" title="AJAX的各种控件和类库">AJAX的各种控件和类库</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eesoneeajaxeehuai.html" title="基于JSON的高级AJAX开发技术">基于JSON的高级AJAX开发技术</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/eacceleratoryumemcachedequbieyuyongtu.html" title="eAccelerator与memcache的区别与用途">eAccelerator与memcache的区别与用途</a> (2)</li><li>2008年10月17日 -- <a href="http://www.5bay.cn/game-development/%E6%B8%B8%E6%88%8F%E6%95%B0%E5%80%BC%E5%85%AC%E5%BC%8F%E7%9A%84%E8%A1%A8%E8%B1%A1%E4%B8%8E%E6%9C%AC%E8%B4%A8.html" title="游戏数值公式的表象与本质">游戏数值公式的表象与本质</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/eeeeee389.html" title="无需输入密码登陆3389">无需输入密码登陆3389</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eejaxeeeeee.html" title="使用Ajax时的十个常犯的错误">使用Ajax时的十个常犯的错误</a> (0)</li></ul>
	标签Tags：<a href="http://www.5bay.cn/tag/asp" title="ASP" rel="tag">ASP</a>, <a href="http://www.5bay.cn/tag/%E4%BB%A3%E7%A0%81" title="代码" rel="tag">代码</a>, <a href="http://www.5bay.cn/tag/%E5%B1%9E%E6%80%A7" title="属性" rel="tag">属性</a>, <a href="http://www.5bay.cn/tag/%E5%B7%A5%E5%85%B7" title="工具" rel="tag">工具</a>, <a href="http://www.5bay.cn/tag/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F" title="操作系统" rel="tag">操作系统</a>, <a href="http://www.5bay.cn/category/server-building" title="服务器构建&amp;安全" rel="tag">服务器构建&amp;安全</a>, <a href="http://www.5bay.cn/tag/%E7%B3%BB%E7%BB%9F" title="系统" rel="tag">系统</a>, <a href="http://www.5bay.cn/tag/%E7%BD%91%E7%AB%99" title="网站" rel="tag">网站</a>, <a href="http://www.5bay.cn/tag/%E9%9A%90%E8%97%8F" title="隐藏" rel="tag">隐藏</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.5bay.cn/server-building/eeprn-asp-jpg.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>最令PHP初学者头痛的十四个问题</title>
		<link>http://www.5bay.cn/network-programming/eeeeeeee.html</link>
		<comments>http://www.5bay.cn/network-programming/eeeeeeee.html#comments</comments>
		<pubDate>Sun, 25 Jul 2010 17:20:55 +0000</pubDate>
		<dc:creator>江小邪</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[网络编程]]></category>
		<category><![CDATA[apache2]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[iis6.0]]></category>
		<category><![CDATA[include]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[path]]></category>
		<category><![CDATA[php.ini]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[session]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[url]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[上传]]></category>
		<category><![CDATA[中文]]></category>
		<category><![CDATA[兼容]]></category>
		<category><![CDATA[初学者]]></category>
		<category><![CDATA[区别]]></category>
		<category><![CDATA[失败]]></category>
		<category><![CDATA[密码]]></category>
		<category><![CDATA[应用程序]]></category>
		<category><![CDATA[数据]]></category>
		<category><![CDATA[数据库]]></category>
		<category><![CDATA[方法]]></category>
		<category><![CDATA[版本]]></category>
		<category><![CDATA[程序]]></category>
		<category><![CDATA[网站]]></category>
		<category><![CDATA[解决]]></category>
		<category><![CDATA[解决方法]]></category>
		<category><![CDATA[设计]]></category>
		<category><![CDATA[诫]]></category>
		<category><![CDATA[邮件]]></category>
		<category><![CDATA[错误]]></category>
		<category><![CDATA[页面]]></category>
		<category><![CDATA[验证]]></category>

		<guid isPermaLink="false">http://www.5bay.cn/?p=501</guid>
		<description><![CDATA[<a href="http://www.5bay.cn/network-programming/eeeeeeee.html"><img align="left" hspace="5" width="150" height="150" src="http://www.5bay.cn/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>【1】页面之间无法传递变量 get,post,session在最新的php版本中自动全局变量是关闭的，所以要从上一页面取得提交过来得变量要使用$_GET['foo'],$ _POST['foo'],$_SESSION['foo']来得到。当然也可以修改自动全局变量为开(php.ini改为 register_globals = On)；考虑到兼容性，还是强迫自己熟悉新的写法比较好。　　 【2】Win32下apache2 用get方法传递中文参数会出错： test.php?a=你好&#38;b=你也好　 传递参数是会导致一个内部错误　　 解决办法:”test.php?a=”.urlencode(你好).”&#38;b=”.urlencode(你也好)　 【3】win32下的session不能正常工作　 php.ini默认的session.save_path = /tmp　 这显然是linux下的配置，win32下php无法读写session文件导致session无法使用，把它改成一个绝对路径就可以了，例如session.save_path = c:windows emp　　 【4】显示错误信息　 　 当php.ini的display_errors = On并且error_reporting = E_ALL时，将显示所有的错误和提示，调试的时候最好打开以便纠错，如果你用以前php写法错误信息多半是关于未定义变量的。变量在赋值以前调用会有提示，解决办法是探测或者屏蔽。　　 例如显示$foo，可以if(isset($foo)) echo $foo 或者echo @$foo　　 【5】Win32下mail()不能发送电子邮件　　 在linux下配置好的sendmail可以发送，在win32下需要调用smtp服务器来发送电子邮件，修改php.ini的SMTP = ip //ip是不带验证功能的smtp服务器(网上很难找到)　　 php发送邮件的最好解决方法是用socket直接发送到对方email服务器而不用转发服务器。　　 【6】初装的mysql修改密码 应该使用update mysql.user set password=”yourpassword” where user=”root” 修改密码　　 【7】header already sent　　 这个错误通常会在你使用HEADER的时候出现，他可能是几种原因： 1，你在使用HEADER前PRING或者ECHO了 2.你当前文件前面有空行 3.你可能INCLUDE了一个文件,该文件尾部有空行或者输出也会出现这种错误。！　　 【8】更改php.ini后没有变化　　 重新启动web server，比如IIS，Apache等等，然后才会应用最新的设置。 [...]]]></description>
			<content:encoded><![CDATA[<p><span id="more-501"></span>【1】页面之间无法传递变量</p>
<p>get,post,session在最新的php版本中自动全局变量是关闭的，所以要从上一页面取得提交过来得变量要使用$_GET['foo'],$ _POST['foo'],$_SESSION['foo']来得到。当然也可以修改自动全局变量为开(php.ini改为 register_globals = On)；考虑到兼容性，还是强迫自己熟悉新的写法比较好。　　</p>
<p>【2】Win32下apache2 用get方法传递中文参数会出错：</p>
<p>test.php?a=你好&amp;b=你也好　<br />
传递参数是会导致一个内部错误　　<br />
解决办法:”test.php?a=”.urlencode(你好).”&amp;b=”.urlencode(你也好)　</p>
<p>【3】win32下的session不能正常工作　</p>
<p>php.ini默认的session.save_path = /tmp　<br />
这显然是linux下的配置，win32下php无法读写session文件导致session无法使用，把它改成一个绝对路径就可以了，例如session.save_path = c:windows emp　　</p>
<p>【4】显示错误信息　<br />
　<br />
当php.ini的display_errors = On并且error_reporting = E_ALL时，将显示所有的错误和提示，调试的时候最好打开以便纠错，如果你用以前php写法错误信息多半是关于未定义变量的。变量在赋值以前调用会有提示，解决办法是探测或者屏蔽。　　</p>
<p>例如显示$foo，可以if(isset($foo)) echo $foo 或者echo @$foo　　</p>
<p>【5】Win32下mail()不能发送电子邮件　　</p>
<p>在linux下配置好的sendmail可以发送，在win32下需要调用smtp服务器来发送电子邮件，修改php.ini的SMTP = ip //ip是不带验证功能的smtp服务器(网上很难找到)　　</p>
<p>php发送邮件的最好解决方法是用socket直接发送到对方email服务器而不用转发服务器。　　</p>
<p>【6】初装的mysql修改密码</p>
<p>应该使用update mysql.user set password=”yourpassword” where user=”root” 修改密码　　</p>
<p>【7】header already sent　　</p>
<p>这个错误通常会在你使用HEADER的时候出现，他可能是几种原因：</p>
<p>1，你在使用HEADER前PRING或者ECHO了<br />
2.你当前文件前面有空行<br />
3.你可能INCLUDE了一个文件,该文件尾部有空行或者输出也会出现这种错误。！　　</p>
<p>【8】更改php.ini后没有变化　　</p>
<p>重新启动web server，比如IIS，Apache等等，然后才会应用最新的设置。<br />
这个我要补充一下，如果你是iis服务器请在cmd下用iisreset命令重新起动。用信息管理服务器重起是不起作用的。</p>
<p>【9】php在2003上面安装　<br />
　<br />
PHP4的php4isapi.dll好像和2003有些冲突，只能用CGI模式安装　　</p>
<p>步骤一，先www.php.net 下在一个安装程序，我是装的是：php-4.2.3-installer.exe，你也可以去找最新的版本，在安装php-4.2.3- installer.exe之前保证你的IIS6.0启动了，并能够访问。安装好以后，在默认网站&#8211;＞应用程序配置。　　<br />
步骤二：点击 web服务扩展 &#8211;＞新建web服务扩展。　　<br />
步骤三： 扩展名&#8211;＞php,然后添加　　<br />
步骤四：找到php.exe的路径添加上去。　　<br />
步骤五： 确定就可以了！　　　<br />
步骤六： 选择php的服务扩展，然后点击允许。　这点很重要，以前的iis5.1都没web服务扩展这项，所以用惯iis5.1的朋友很容易忽略这项。</p>
<p>【10】sql语句不起作用</p>
<p>sql语句不起作用，对数据库操作失败，最简便的调试方法，echo那句sql，看看变量的值能得到不。　<br />
　<br />
【11】include和require的区别　　</p>
<p>两者没有太大的区别，如果要包含的文件不存在，include提示notice，然后继续执行下面的语句，require提示致命错误并且退出。　　</p>
<p>据我测试，win32平台下它们都是先包含后执行，所以被包含文件里最好不要再有include或require语句，这样会造成目录混乱。</p>
<p>如果一个文件不想被包含多次可以使用include_once或require_once## 读取，写入文档数据。<br />
function r($file_name) {　<br />
$filenum=@fopen($file_name,”r”);　<br />
@flock($filenum,LOCK_SH);　<br />
$file_data=@fread($filenum,filesize($file_name));　<br />
@fclose($filenum);　<br />
return $file_data;}<br />
function w($file_name,$data,$method=”w”){　<br />
$filenum=@fopen($file_name,$method);　<br />
flock($filenum,LOCK_EX);　<br />
$file_data=fwrite($filenum,$data);　<br />
fclose($filenum);　<br />
return $file_data;}</p>
<p>【12】isset()和empty()的区别　　</p>
<p>两者都是测试变量用的，但是isset()是测试变量是否被赋值，而empty()是测试一个已经被赋值的变量是否为空。　　</p>
<p>如果一个变量没被赋值就引用在php里是被允许的,但会有notice提示，如果一个变量被赋空值，$foo=”"或者$foo=0或者 $foo=false,那么empty($foo)返回真，isset($foo)也返回真，就是说赋空值不会注销一个变量。　　　要注销一个变量，可以用 unset($foo)或者$foo=NULL　　</p>
<p>【13】mysql查询语句包含有关键字　</p>
<p>　php查询mysql的时候，有时候mysql表名或者列名会有关键字，这时候查询会有错误。例如表名是order,查询时候会出错，简单的办法是sql语句里表名或者列名加上`[tab键上面]来加以区别，例如select * from `order`　　</p>
<p>【14】通过HTTP协议一次上传多个文件的方法　　</p>
<p>有两个思路，是同一个方法的两种实现。具体程序还需自己去设计。　　<br />
1、在form中设置多个文件输入框，用数组命名他们的名字，如下：</p>
<p>＜form action=”" method=post＞<br />
＜input type=file name=usefile[]＞<br />
＜input type=file name=usefile[]＞<br />
＜input type=file name=usefile[]＞<br />
＜/form＞<br />
　　<br />
这样，在服务器端做以下测试：echo “＜pre＞”;print_r($_FILES);echo “＜/pre＞”;　　</p>
<p>2、在form中设置多个文件输入框，但名字不同，如下：</p>
<p>＜form action=”" method=post＞<br />
＜input type=file name=usefile_a＞<br />
＜input type=file name=usefile_b＞<br />
＜input type=file name=usefile_c＞<br />
＜/form＞　</p>
<p>　在服务器端做同样测试：echo “＜pre＞”;print_r($_FILES);echo “＜/pre＞”;</p>
<h2  class="related_post_title">相关博文</h2><ul class="related_post"><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/mysqlyouhuajiquanwensousuo.html" title="mysql优化及全文搜索">mysql优化及全文搜索</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/phpeecketee.html" title="PHP和Socket简介">PHP和Socket简介</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxxuan.html" title="ajax的缺点">ajax的缺点</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/phpeezhanchang.html" title="PHP安全之数据过滤">PHP安全之数据过滤</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/rsyncxiangjie.html" title="Rsync详解">Rsync详解</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eejaxeeeeee.html" title="使用Ajax时的十个常犯的错误">使用Ajax时的十个常犯的错误</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/webshelleechueeee.html" title="Webshell下破解计算机管理员密码">Webshell下破解计算机管理员密码</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/peeeeee.html" title="深入探讨PHP中的内存管理问题">深入探讨PHP中的内存管理问题</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/aoeempirebakeebshell.html" title="帝国备份王(Empirebak)拿webshell">帝国备份王(Empirebak)拿webshell</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/phpeeeeeeeehuai.html" title="PHP对文本数据库的基本操作方法">PHP对文本数据库的基本操作方法</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxeeee.html" title="Ajax的工作原理">Ajax的工作原理</a> (1)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/xmlhttpe.html" title="XMLHTTP对象封装技术">XMLHTTP对象封装技术</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eesoneeajaxeehuai.html" title="基于JSON的高级AJAX开发技术">基于JSON的高级AJAX开发技术</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/nginxderewriteguize.html" title="nginx的rewrite规则">nginx的rewrite规则</a> (1)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/aspeaojie.html" title="ASP防注入新方式，希望对大家是有用的">ASP防注入新方式，希望对大家是有用的</a> (0)</li></ul>
	标签Tags：<a href="http://www.5bay.cn/tag/apache2" title="apache2" rel="tag">apache2</a>, <a href="http://www.5bay.cn/tag/code" title="code" rel="tag">code</a>, <a href="http://www.5bay.cn/tag/iis60" title="iis6.0" rel="tag">iis6.0</a>, <a href="http://www.5bay.cn/tag/include" title="include" rel="tag">include</a>, <a href="http://www.5bay.cn/tag/mysql" title="mysql" rel="tag">mysql</a>, <a href="http://www.5bay.cn/tag/path" title="path" rel="tag">path</a>, <a href="http://www.5bay.cn/category/network-programming/php" title="PHP" rel="tag">PHP</a>, <a href="http://www.5bay.cn/tag/php" title="PHP" rel="tag">PHP</a>, <a href="http://www.5bay.cn/tag/phpini" title="php.ini" rel="tag">php.ini</a>, <a href="http://www.5bay.cn/tag/server" title="server" rel="tag">server</a>, <a href="http://www.5bay.cn/tag/session" title="session" rel="tag">session</a>, <a href="http://www.5bay.cn/tag/sql" title="sql" rel="tag">sql</a>, <a href="http://www.5bay.cn/tag/url" title="url" rel="tag">url</a>, <a href="http://www.5bay.cn/tag/web" title="web" rel="tag">web</a>, <a href="http://www.5bay.cn/tag/%E4%B8%8A%E4%BC%A0" title="上传" rel="tag">上传</a>, <a href="http://www.5bay.cn/tag/%E4%B8%AD%E6%96%87" title="中文" rel="tag">中文</a>, <a href="http://www.5bay.cn/tag/%E5%85%BC%E5%AE%B9" title="兼容" rel="tag">兼容</a>, <a href="http://www.5bay.cn/tag/%E5%88%9D%E5%AD%A6%E8%80%85" title="初学者" rel="tag">初学者</a>, <a href="http://www.5bay.cn/tag/%E5%8C%BA%E5%88%AB" title="区别" rel="tag">区别</a>, <a href="http://www.5bay.cn/tag/%E5%A4%B1%E8%B4%A5" title="失败" rel="tag">失败</a>, <a href="http://www.5bay.cn/tag/%E5%AF%86%E7%A0%81" title="密码" rel="tag">密码</a>, <a href="http://www.5bay.cn/tag/%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F" title="应用程序" rel="tag">应用程序</a>, <a href="http://www.5bay.cn/tag/%E6%95%B0%E6%8D%AE" title="数据" rel="tag">数据</a>, <a href="http://www.5bay.cn/tag/%E6%95%B0%E6%8D%AE%E5%BA%93" title="数据库" rel="tag">数据库</a>, <a href="http://www.5bay.cn/tag/%E6%96%B9%E6%B3%95" title="方法" rel="tag">方法</a>, <a href="http://www.5bay.cn/tag/%E7%89%88%E6%9C%AC" title="版本" rel="tag">版本</a>, <a href="http://www.5bay.cn/tag/%E7%A8%8B%E5%BA%8F" title="程序" rel="tag">程序</a>, <a href="http://www.5bay.cn/tag/%E7%BD%91%E7%AB%99" title="网站" rel="tag">网站</a>, <a href="http://www.5bay.cn/category/network-programming" title="网络编程" rel="tag">网络编程</a>, <a href="http://www.5bay.cn/tag/%E8%A7%A3%E5%86%B3" title="解决" rel="tag">解决</a>, <a href="http://www.5bay.cn/tag/%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95" title="解决方法" rel="tag">解决方法</a>, <a href="http://www.5bay.cn/tag/%E8%AE%BE%E8%AE%A1" title="设计" rel="tag">设计</a>, <a href="http://www.5bay.cn/tag/e" title="诫" rel="tag">诫</a>, <a href="http://www.5bay.cn/tag/%E9%82%AE%E4%BB%B6" title="邮件" rel="tag">邮件</a>, <a href="http://www.5bay.cn/tag/%E9%94%99%E8%AF%AF" title="错误" rel="tag">错误</a>, <a href="http://www.5bay.cn/tag/%E9%A1%B5%E9%9D%A2" title="页面" rel="tag">页面</a>, <a href="http://www.5bay.cn/tag/%e9%aa%8c%e8%af%81" title="验证" rel="tag">验证</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.5bay.cn/network-programming/eeeeeeee.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用Ajax时的十个常犯的错误</title>
		<link>http://www.5bay.cn/network-programming/eejaxeeeeee.html</link>
		<comments>http://www.5bay.cn/network-programming/eejaxeeeeee.html#comments</comments>
		<pubDate>Sun, 25 Jul 2010 16:49:05 +0000</pubDate>
		<dc:creator>江小邪</dc:creator>
				<category><![CDATA[JavaScript&Ajax]]></category>
		<category><![CDATA[网络编程]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[dhtml]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[http请求状态]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[status]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[web2.0]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[xmlhttp]]></category>
		<category><![CDATA[人]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[图片]]></category>
		<category><![CDATA[数据]]></category>
		<category><![CDATA[数据库]]></category>
		<category><![CDATA[方法]]></category>
		<category><![CDATA[更新]]></category>
		<category><![CDATA[浏览器]]></category>
		<category><![CDATA[版本]]></category>
		<category><![CDATA[程序]]></category>
		<category><![CDATA[网站]]></category>
		<category><![CDATA[连接]]></category>
		<category><![CDATA[链接]]></category>
		<category><![CDATA[错误]]></category>
		<category><![CDATA[页面]]></category>

		<guid isPermaLink="false">http://www.5bay.cn/?p=478</guid>
		<description><![CDATA[<a href="http://www.5bay.cn/network-programming/eejaxeeeeee.html"><img align="left" hspace="5" width="150" height="150" src="http://www.5bay.cn/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>上个月我发现许多Web2.0网站大量运用了ajax，但是其中有些很奇怪，因为他们的速度比起前慢了，并且有时候不起作用（在移动设备上），我总结了十条用Ajax的错误（平台无关） 1、 不要通过把整个页面都放在UpdatePanel中更新整个页面。在你运行网页时需要节省时间，不要更新那些可以用javascript and DHTML (DOM)的部分。 2、 要始终记得有这么几种访问者，他们不能用JavaScript或者用的版本比较老的浏览器或者他们对JavaScript支持不好，比如说移动设备。如果这些都不支持，你的访问者能看到什么？ 3、 在客户端浏览器缓存相同的请求或者在we服务器端执行缓存。最好的例子是自动完成个下拉菜单，他们的填充在任何时刻都是相同的，一个有错误写法的自动完成的写法可以减慢你的Web服务器（数据库服务器），因为那样会有比起以前用IsPostBack更多地请求。想一下不停的按F5刷新你的网页的情形。如果你有层叠的下拉菜单你就会结算更多地请求。 4、 在你运用CSS或JavaScript时，不要运行，并发的或者运行很长时间的Ajax请求，一般的浏览器只能有两个并发的http连接（我知道可以给变这个，但是默认的还是设为两个）。如果在读取图片的时候由很多Ajax请求的话，速度会变得很慢。 5、 什么时候都用异步调用的方法发送XMLHttpRequest.。如果你要用同步的方法也是没有请问题的，你的浏览器不会因为网络问题或是连接速度慢而冻结的 6、 试着让你的web应用使用一个很慢的网络连接，再尝试用快的TCP/IP连接 7、 你的web应用是作为桌面程序的替代品？你注意观察过一般浏览器在运行你的Web应用一小时，两小时或者几天时内存的使用。不是所有人都有你那样好的机器。 8、 检查在你返回XMLHttpRequest时你的http请求状态代码（status code），那会有一些常见的网络错误像是不可获得的DNS，Http Server error 500 ，你曾经检查过状态代码（status code），它可以告诉你浏览器在一个为连接的模式 9、 试着禁止XMLHttpRequest object！用IE7你能用native object代替ActiveX object，但是你也可以禁止native object。 10、检查你AJAX requests的安全性！你简单的打开了你的数据访问层吗？充分运用FormsAuthentication和PrincipalPermissions。是不是任何人都可以建立一个请求（不只是点击一个链接）？ 相关博文2010年07月26日 -- Ajax的工作原理 (1)2010年07月26日 -- ajax的缺点 (0)2010年07月26日 -- AJAX的各种控件和类库 (0)2010年07月26日 -- 基于JSON的高级AJAX开发技术 (0)2010年05月23日 -- Rsync详解 (0)2010年07月26日 -- AJAX应用程序开发七宗罪 (0)2010年05月23日 -- 《高性能网站建设指南》读书笔记 [...]]]></description>
			<content:encoded><![CDATA[<p>上个月我发现许多Web2.0网站大量运用了ajax，但是其中有些很奇怪，因为他们的速度比起前慢了，并且有时候不起作用（在移动设备上），我总结了十条用Ajax的错误（平台无关）</p>
<p>1、 不要通过把整个页面都放在UpdatePanel中更新整个页面。在你运行网页时需要节省时间，不要更新那些可以用javascript and DHTML (DOM)的部分。</p>
<p>2、 要始终记得有这么几种访问者，他们不能用JavaScript或者用的版本比较老的浏览器或者他们对JavaScript支持不好，比如说移动设备。如果这些都不支持，你的访问者能看到什么？</p>
<p>3、 在客户端浏览器缓存相同的请求或者在we服务器端执行缓存。最好的例子是自动完成个下拉菜单，他们的填充在任何时刻都是相同的，一个有错误写法的自动完成的写法可以减慢你的Web服务器（数据库服务器），因为那样会有比起以前用IsPostBack更多地请求。想一下不停的按F5刷新你的网页的情形。如果你有层叠的下拉菜单你就会结算更多地请求。</p>
<p>4、 在你运用CSS或JavaScript时，不要运行，并发的或者运行很长时间的Ajax请求，一般的浏览器只能有两个并发的http连接（我知道可以给变这个，但是默认的还是设为两个）。如果在读取图片的时候由很多Ajax请求的话，速度会变得很慢。</p>
<p>5、 什么时候都用异步调用的方法发送XMLHttpRequest.。如果你要用同步的方法也是没有请问题的，你的浏览器不会因为网络问题或是连接速度慢而冻结的</p>
<p>6、 试着让你的web应用使用一个很慢的网络连接，再尝试用快的TCP/IP连接</p>
<p>7、 你的web应用是作为桌面程序的替代品？你注意观察过一般浏览器在运行你的Web应用一小时，两小时或者几天时内存的使用。不是所有人都有你那样好的机器。</p>
<p>8、 检查在你返回XMLHttpRequest时你的http请求状态代码（status code），那会有一些常见的网络错误像是不可获得的DNS，Http <a href="http://www.5bay.cn/tag/server" class="st_tag internal_tag" rel="tag" title="标签 server 下的日志">Server</a> error 500 ，你曾经检查过状态代码（status code），它可以告诉你浏览器在一个为连接的模式</p>
<p>9、 试着禁止XMLHttpRequest object！用IE7你能用native object代替ActiveX object，但是你也可以禁止native object。</p>
<p>10、检查你AJAX requests的安全性！你简单的打开了你的数据访问层吗？充分运用FormsAuthentication和PrincipalPermissions。是不是任何人都可以建立一个请求（不只是点击一个链接）？</p>
<h2  class="related_post_title">相关博文</h2><ul class="related_post"><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxeeee.html" title="Ajax的工作原理">Ajax的工作原理</a> (1)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxxuan.html" title="ajax的缺点">ajax的缺点</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajax.html" title="AJAX的各种控件和类库">AJAX的各种控件和类库</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eesoneeajaxeehuai.html" title="基于JSON的高级AJAX开发技术">基于JSON的高级AJAX开发技术</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/rsyncxiangjie.html" title="Rsync详解">Rsync详解</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxeeaoe.html" title="AJAX应用程序开发七宗罪">AJAX应用程序开发七宗罪</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/gaoxingnengwangzhanjianshezhinandushubiji.html" title="《高性能网站建设指南》读书笔记">《高性能网站建设指南》读书笔记</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eeeeeeee.html" title="最令PHP初学者头痛的十四个问题">最令PHP初学者头痛的十四个问题</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/xmlhttpe.html" title="XMLHTTP对象封装技术">XMLHTTP对象封装技术</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/mysqlyouhuajiquanwensousuo.html" title="mysql优化及全文搜索">mysql优化及全文搜索</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/nginxderewriteguize.html" title="nginx的rewrite规则">nginx的rewrite规则</a> (1)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/phpeecketee.html" title="PHP和Socket简介">PHP和Socket简介</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/phpeeeeeeeehuai.html" title="PHP对文本数据库的基本操作方法">PHP对文本数据库的基本操作方法</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxeeieeeeeting.html" title="AJAX初学:IE缓存页面的问题">AJAX初学:IE缓存页面的问题</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eejaxeeetpit.html" title="了解Ajax中的Get和Post ">了解Ajax中的Get和Post </a> (0)</li></ul>
	标签Tags：<a href="http://www.5bay.cn/tag/ajax" title="ajax" rel="tag">ajax</a>, <a href="http://www.5bay.cn/tag/code" title="code" rel="tag">code</a>, <a href="http://www.5bay.cn/tag/css" title="css" rel="tag">css</a>, <a href="http://www.5bay.cn/tag/dhtml" title="dhtml" rel="tag">dhtml</a>, <a href="http://www.5bay.cn/tag/html" title="html" rel="tag">html</a>, <a href="http://www.5bay.cn/tag/http%E8%AF%B7%E6%B1%82%E7%8A%B6%E6%80%81" title="http请求状态" rel="tag">http请求状态</a>, <a href="http://www.5bay.cn/tag/ie" title="ie" rel="tag">ie</a>, <a href="http://www.5bay.cn/tag/javascript" title="javascript" rel="tag">javascript</a>, <a href="http://www.5bay.cn/category/network-programming/javascript-ajax" title="JavaScript&amp;Ajax" rel="tag">JavaScript&amp;Ajax</a>, <a href="http://www.5bay.cn/tag/server" title="server" rel="tag">server</a>, <a href="http://www.5bay.cn/tag/status" title="status" rel="tag">status</a>, <a href="http://www.5bay.cn/tag/web" title="web" rel="tag">web</a>, <a href="http://www.5bay.cn/tag/web20" title="web2.0" rel="tag">web2.0</a>, <a href="http://www.5bay.cn/tag/xml" title="xml" rel="tag">xml</a>, <a href="http://www.5bay.cn/tag/xmlhttp" title="xmlhttp" rel="tag">xmlhttp</a>, <a href="http://www.5bay.cn/tag/%E4%BA%BA" title="人" rel="tag">人</a>, <a href="http://www.5bay.cn/tag/%E4%BB%A3%E7%A0%81" title="代码" rel="tag">代码</a>, <a href="http://www.5bay.cn/tag/%E5%9B%BE%E7%89%87" title="图片" rel="tag">图片</a>, <a href="http://www.5bay.cn/tag/%E6%95%B0%E6%8D%AE" title="数据" rel="tag">数据</a>, <a href="http://www.5bay.cn/tag/%E6%95%B0%E6%8D%AE%E5%BA%93" title="数据库" rel="tag">数据库</a>, <a href="http://www.5bay.cn/tag/%E6%96%B9%E6%B3%95" title="方法" rel="tag">方法</a>, <a href="http://www.5bay.cn/tag/%E6%9B%B4%E6%96%B0" title="更新" rel="tag">更新</a>, <a href="http://www.5bay.cn/tag/%E6%B5%8F%E8%A7%88%E5%99%A8" title="浏览器" rel="tag">浏览器</a>, <a href="http://www.5bay.cn/tag/%E7%89%88%E6%9C%AC" title="版本" rel="tag">版本</a>, <a href="http://www.5bay.cn/tag/%E7%A8%8B%E5%BA%8F" title="程序" rel="tag">程序</a>, <a href="http://www.5bay.cn/tag/%E7%BD%91%E7%AB%99" title="网站" rel="tag">网站</a>, <a href="http://www.5bay.cn/category/network-programming" title="网络编程" rel="tag">网络编程</a>, <a href="http://www.5bay.cn/tag/%E8%BF%9E%E6%8E%A5" title="连接" rel="tag">连接</a>, <a href="http://www.5bay.cn/tag/%E9%93%BE%E6%8E%A5" title="链接" rel="tag">链接</a>, <a href="http://www.5bay.cn/tag/%E9%94%99%E8%AF%AF" title="错误" rel="tag">错误</a>, <a href="http://www.5bay.cn/tag/%E9%A1%B5%E9%9D%A2" title="页面" rel="tag">页面</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.5bay.cn/network-programming/eejaxeeeeee.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>基于JSON的高级AJAX开发技术</title>
		<link>http://www.5bay.cn/network-programming/eesoneeajaxeehuai.html</link>
		<comments>http://www.5bay.cn/network-programming/eesoneeajaxeehuai.html#comments</comments>
		<pubDate>Sun, 25 Jul 2010 16:39:46 +0000</pubDate>
		<dc:creator>江小邪</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[网络编程]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[div]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[mod]]></category>
		<category><![CDATA[url]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[人]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[分离]]></category>
		<category><![CDATA[对象]]></category>
		<category><![CDATA[属性]]></category>
		<category><![CDATA[应用程序]]></category>
		<category><![CDATA[数据]]></category>
		<category><![CDATA[数据库]]></category>
		<category><![CDATA[方法]]></category>
		<category><![CDATA[浏览器]]></category>
		<category><![CDATA[程序]]></category>
		<category><![CDATA[类]]></category>
		<category><![CDATA[网站]]></category>
		<category><![CDATA[自身]]></category>
		<category><![CDATA[诫]]></category>
		<category><![CDATA[链接]]></category>
		<category><![CDATA[面向对象]]></category>

		<guid isPermaLink="false">http://www.5bay.cn/?p=464</guid>
		<description><![CDATA[<a href="http://www.5bay.cn/network-programming/eesoneeajaxeehuai.html"><img align="left" hspace="5" width="150" height="150" src="http://www.5bay.cn/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>一、 引言 　　毫无疑问，AJAX已经成为当今Web开发中一种强有力的用户交互技术，但是它的许多可能性应用仍然鲜为人知。在本文中，我们将来共同探讨如何使用JavaScript对象标志(JSON)和JSON分析器在服务器和客户端AJAX引擎之间创建复杂而强有力的JSON数据传输层。我们将详细讨论如何创建一组对象(在其它语言中经常被当作一个包)，如何把这些对象串行化为JSON以发送到服务器端，以及如何把服务器端JSON反串行化为客户端JavaScript对象。 　　提示：你可以在Douglas Crockford的网站上找到本文中使用的JSON分析器。 　　在继续阅读前，本文假定你已经掌握了JavaScript技术并且了解如何创建一个基本的AJAX引擎，并经由AJAX技术向服务器端发出请求和从服务器端接收响应。为了更好地理解本文中示例，你需要下载本文相应的源码文件。 　　二、 开始 　　为了进一步抽象我们的AJAX请求并有助于我们以后在不同的应用程序间共享AJAX引擎代码，本文使用了一个我自己创建的AJAX引擎。为了使用这个引擎，我们简单地导入三个JavaScript文件并且向一个名为AjaxUpdater的对象发出请求。然后，由该引擎来负责处理其它任务，包括把响应代理到在该请求中指定的回调方法中。下面的示例展示了我们如何使用这个引擎发出请求以及导入相关的文件： ＜script type=”text/javascript”src=”javascript/model/Ajax.js”＞＜/script＞ ＜script type=”text/javascript” src=”javascript/model/HTTP.js”＞＜/script＞ ＜script type=”text/javascript” src=”javascript/model/AjaxUpdater.js”＞＜/script＞ ＜script type=”text/javascript”＞ document.load = AjaxUpdater.Update(’GET’， URL， callback); ＜/script＞ 　　首先，让我们来讨论JavaScript对象。 三、 JavaScript对象 　　JavaScript以前经常被误解，似乎它主要用于实现客户浏览器端图形效果。其实，JavaScript是一种强有力的语言，特别当它与AJAX以及一个应用程序的服务器端相结合时;但是，即使在客户端，JavaScript也能够实现远比你预料得多的多的功能。面向对象的JavaScript就是一个示例，它能够使我们创建对象，扩展内在对象，甚至能够把我们的对象创建成包以达到更容易的管理之目的。 　　在本文示例中，我们将创建三个对象：Auto，Car和Wheel。其中，每一个都是简单的对象;在此，我们仅使用它们来展示如何创建一个基本包。 　　首先，Auto对象被声明为一个新的对象： 　　var Auto = new Object(); 　　注意，这个Auto对象将用作Car对象的父类。因此，Car对象将成为Auto对象的一个属性，只不过它被分离到另一个文件中以更易于管理(这个概念经常被用于其它面向对象的语言中，但是在JavaScript中却并不经常提起它)。下面是这个Car对象相应的代码： 　　Auto.Car = new Object(); 　　Auto.Car.color = “#fff”; 　　Auto.Car.setColor = function(_color) 　　{ 　　Auto.Car.color = _color; 　　} 　　Auto.Car.setColor(“#333&#8243;); 　　如你所见，该Car对象是Auto对象的一个子对象—这分明是一种类对象层次结构。这个对象有一个名为color的属性和一个用于设置它的方法。在此，我们把color属性设置为灰色以覆盖掉缺省的白色。当在后面我们串行化该对象时请牢记住这个事实。 　　下一个对象，Wheel，是Car的一个子对象： [...]]]></description>
			<content:encoded><![CDATA[<p>一、 引言</p>
<p>　　毫无疑问，AJAX已经成为当今Web开发中一种强有力的用户交互技术，但是它的许多可能性应用仍然鲜为人知。在本文中，我们将来共同探讨如何使用JavaScript对象标志(JSON)和JSON分析器在服务器和客户端AJAX引擎之间创建复杂而强有力的JSON数据传输层。我们将详细讨论如何创建一组对象(在其它语言中经常被当作一个包)，如何把这些对象串行化为JSON以发送到服务器端，以及如何把服务器端JSON反串行化为客户端JavaScript对象。</p>
<p>　　提示：你可以在Douglas Crockford的网站上找到本文中使用的JSON分析器。</p>
<p>　　在继续阅读前，本文假定你已经掌握了JavaScript技术并且了解如何创建一个基本的AJAX引擎，并经由AJAX技术向服务器端发出请求和从服务器端接收响应。为了更好地理解本文中示例，你需要下载本文相应的源码文件。<span id="more-464"></span></p>
<p>　　二、 开始</p>
<p>　　为了进一步抽象我们的AJAX请求并有助于我们以后在不同的应用程序间共享AJAX引擎代码，本文使用了一个我自己创建的AJAX引擎。为了使用这个引擎，我们简单地导入三个JavaScript文件并且向一个名为AjaxUpdater的对象发出请求。然后，由该引擎来负责处理其它任务，包括把响应代理到在该请求中指定的回调方法中。下面的示例展示了我们如何使用这个引擎发出请求以及导入相关的文件：</p>
<p>＜script type=”text/javascript”src=”javascript/model/<a href="http://www.5bay.cn/tag/ajax" class="st_tag internal_tag" rel="tag" title="标签 ajax 下的日志">Ajax</a>.js”＞＜/script＞<br />
＜script type=”text/javascript” src=”javascript/model/HTTP.js”＞＜/script＞<br />
＜script type=”text/javascript” src=”javascript/model/AjaxUpdater.js”＞＜/script＞<br />
＜script type=”text/javascript”＞<br />
document.load = AjaxUpdater.Update(’GET’， URL， callback);<br />
＜/script＞ </p>
<p>　　首先，让我们来讨论JavaScript对象。</p>
<p>三、 JavaScript对象 </p>
<p>　　JavaScript以前经常被误解，似乎它主要用于实现客户浏览器端图形效果。其实，JavaScript是一种强有力的语言，特别当它与AJAX以及一个应用程序的服务器端相结合时;但是，即使在客户端，JavaScript也能够实现远比你预料得多的多的功能。面向对象的JavaScript就是一个示例，它能够使我们创建对象，扩展内在对象，甚至能够把我们的对象创建成包以达到更容易的管理之目的。</p>
<p>　　在本文示例中，我们将创建三个对象：Auto，Car和Wheel。其中，每一个都是简单的对象;在此，我们仅使用它们来展示如何创建一个基本包。</p>
<p>　　首先，Auto对象被声明为一个新的对象：</p>
<p>　　var Auto = new Object(); </p>
<p>　　注意，这个Auto对象将用作Car对象的父类。因此，Car对象将成为Auto对象的一个属性，只不过它被分离到另一个文件中以更易于管理(这个概念经常被用于其它面向对象的语言中，但是在JavaScript中却并不经常提起它)。下面是这个Car对象相应的代码：</p>
<p>　　Auto.Car = new Object();<br />
　　Auto.Car.color = “#fff”;<br />
　　Auto.Car.setColor = function(_color)<br />
　　{<br />
　　Auto.Car.color = _color;<br />
　　}<br />
　　Auto.Car.setColor(“#333&#8243;); </p>
<p>　　如你所见，该Car对象是Auto对象的一个子对象—这分明是一种类对象层次结构。这个对象有一个名为color的属性和一个用于设置它的方法。在此，我们把color属性设置为灰色以覆盖掉缺省的白色。当在后面我们串行化该对象时请牢记住这个事实。</p>
<p>　　下一个对象，Wheel，是Car的一个子对象：</p>
<p>Auto.Car.Wheel = new Object();<br />
Auto.Car.Wheel.color = “#000&#8243;; </p>
<p>　　在此，Wheel是一个基本对象，但是它展示了对象层次中的又一个层。这个对象有一个称为color的缺省值为黑色(“#000”)的属性。</p>
<p>　　下面，让我们来分析一下为什么这些对象如此重要以及我们是如何使用它们提供的简单的属性的。</p>
<p>四、 把JavaScript对象串行化为JSON </p>
<p>　　借助于JSON分析器，我们可以很容易地把刚才创建的JavaScript对象串行化为JSON。首先，我们需要下载该分析器的一个副本，并且要把它添加到文档中。下面是我在本文示例中用于导入该脚本的相应的代码：</p>
<p>＜script type=”text/javascript” src=”javascript/utils/jsonparser.js”＞＜/script＞ </p>
<p>　　我已经把该分析器添加到我的javascript目录，即一个称为utils的子目录下。</p>
<p>　　下面是最终的包括到其中用于导入适当的JavaScript文件的代码片断：</p>
<p>以下是引用片段：<br />
＜script type=”text/javascript” src=”javascript/Auto.js”＞＜/script＞<br />
＜script type=”text/javascript” src=”javascript/Car.js”＞＜/script＞<br />
＜script type=”text/javascript” src=”javascript/Wheel.js”＞＜/script＞<br />
＜script type=”text/javascript” src=”javascript/utils/jsonparser.js”＞＜/script＞<br />
＜script type=”text/javascript” src=”javascript/model/Ajax.js”＞＜/script＞<br />
＜script type=”text/javascript” src=”javascript/model/HTTP.js”＞＜/script＞<br />
＜script type=”text/javascript” src=”javascript/model/AjaxUpdater.js”＞＜/script＞ </p>
<p>　　在导入适当的文件后，我们可以通过把两个div元素和一个onload事件简单地添加到HTML文档中开始串行化。这两个div元素将分别拥有ID：body和loading。其中，这个loading标签将由AJAX引擎使用来指示进度情况，而body标签将用于显示消息。</p>
<p>＜<a href="http://www.5bay.cn/tag/div" class="st_tag internal_tag" rel="tag" title="标签 div 下的日志">div</a> id=”loading”＞＜/<a href="http://www.5bay.cn/tag/div" class="st_tag internal_tag" rel="tag" title="标签 div 下的日志">div</a>＞<br />
＜div id=”body”＞＜/div＞ </p>
<p>　　onload事件相应于body元素并且设置它的innerHTML属性为JavaScript对象(作为一个串行化的JSON字符串)。为了实现这一目的，我在Auto对象上使用了jsonparser.js文件内的toJSONString方法：</p>
<p>＜body onload=”document.getElementById(’body’).innerHTML = ’＜b＞Local objects serialized as JSON＜/b＞<br />
Auto Object: ’+ Auto.toJSONString();”＞ </p>
<p>　　这段代码使用了Auto对象及其所有的子对象，并且使用JSON分析器的toJSONString方法把它们串行化为一个JSON字符串。然后，该数据可以被用作服务器端的一种数据交换格式。</p>
<p>　　你可能还记得，在前面我们曾调用了一个称为setColor的方法来改变Car对象的颜色。当时，我使用它是因为我想向你展示串行化能够在运行时刻的任何点上实现，而且还为了反映出对象中最新的数据。</p>
<p>　　如果你仔细分析一下onload事件，你会注意到，Car和Wheel对象都包装在方括号内，这些方括号代表了父对象(即Auto)。这意味着，该串行化的JavaScript对象能够在运行时刻被发送到服务器端以存储最新的数据，并且也可以在应用程序启动时从服务器端进行接收以便从数据库中检索多数的当前数据。最精彩的部分在于，为了创建一种“无缝”的过程，所有与服务器之间实现的数据交换都可以使用JSON技术来实现。</p>
<p>　　下面，让我们来看一下相同的数据是如何从服务器端接收的，以及它们是如何被使用最新的数据(典型地，来源于一个数据库)串行化为客户端JavaScript对象的。</p>
<p>五、 把JSON反串行化为客户端JavaScript对象 </p>
<p>　　在本文中，我简单地把一个静态文件创建为JSON响应，但是在实际开发中，你可以把这些数据存储在一个数据库中并且使用一种服务器端语言返回它。基于这一能力，我们就可以轻松地创建一种强有力的数据交换过程!在前面，我们已经分析了这一串行化过程。凭基本的AJAX体验，你应该能够理解数据是如何被寄送到服务器端的。现在，让我们着手讨论反串行化的问题。首先来看一个针对本文示例提供的静态JSON文件。这个文件其实是我们在上一节中串行化的数据：</p>
<p>}} </p>
<p>　　作为一个请求JSON文件的示例，当我们点击下列链接时将请求这个串行化的Auto对象：</p>
<p>＜a href=”javascript:AjaxUpdater.Update(’GET’， ’json/data.js’， displayResponse);”＞Get remote JSON＜/a＞ </p>
<p>　　一旦接收到响应消息，我们的称为displayResponse回调方法就会被激活，然后，我们就能够反串行化并开始使用这些对象：</p>
<p>＜script type=”text/javascript”＞<br />
function displayResponse()<br />
{<br />
　if(Ajax.checkReadyState(’loading’) == “OK”)<br />
　{<br />
　　var Auto = Ajax.request.responseText.parseJSON();<br />
　　document.getElementById(“body”).innerHTML += ”<br />
＜b＞Remote JSON unserialized＜/b＞”;<br />
　　document.getElementById(“body”).innerHTML += ”<br />
Car color: “+Auto.Car.color;<br />
　　document.getElementById(“body”).innerHTML += ”<br />
Wheel color: “+Auto.Car.Wheel.color;<br />
　}<br />
}<br />
＜/script＞ </p>
<p>　　这是相当激动人心的一部分!一旦我们拥有了该responseText，我们就能够简单地使用JSON分析器中的parseJSON方法来从串行化的数据中重建我们的Auto对象。借助于这个新的Auto对象，我们就可以调用相应的子对象。这个特征允许我们在服务器和客户端来回发送对象—而不必进行大量的分析工作，然而在以前标准的XML响应情况下我们将却必须这样做。这样以来，我们就可以创建出能够基于AJAX技术来保留自身状态的客户端JavaScript对象</p>
<h2  class="related_post_title">相关博文</h2><ul class="related_post"><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxeeee.html" title="Ajax的工作原理">Ajax的工作原理</a> (1)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajax.html" title="AJAX的各种控件和类库">AJAX的各种控件和类库</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxxuan.html" title="ajax的缺点">ajax的缺点</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eejaxeeeeee.html" title="使用Ajax时的十个常犯的错误">使用Ajax时的十个常犯的错误</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/xmlhttpe.html" title="XMLHTTP对象封装技术">XMLHTTP对象封装技术</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxeeaoe.html" title="AJAX应用程序开发七宗罪">AJAX应用程序开发七宗罪</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/aspeaojie.html" title="ASP防注入新方式，希望对大家是有用的">ASP防注入新方式，希望对大家是有用的</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/phpeezhanchang.html" title="PHP安全之数据过滤">PHP安全之数据过滤</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/rsyncxiangjie.html" title="Rsync详解">Rsync详解</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/webshelleechueeee.html" title="Webshell下破解计算机管理员密码">Webshell下破解计算机管理员密码</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eeeeeeee.html" title="最令PHP初学者头痛的十四个问题">最令PHP初学者头痛的十四个问题</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/mysqlyouhuajiquanwensousuo.html" title="mysql优化及全文搜索">mysql优化及全文搜索</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/gaoxingnengwangzhanjianshezhinandushubiji.html" title="《高性能网站建设指南》读书笔记">《高性能网站建设指南》读书笔记</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/phpeecketee.html" title="PHP和Socket简介">PHP和Socket简介</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/phpeefangeredoc.html" title="php的文档句法(heredoc)<<<和PHP字符串操作">php的文档句法(heredoc)<<<和PHP字符串操作</a> (0)</li></ul>
	标签Tags：<a href="http://www.5bay.cn/tag/ajax" title="ajax" rel="tag">ajax</a>, <a href="http://www.5bay.cn/tag/div" title="div" rel="tag">div</a>, <a href="http://www.5bay.cn/tag/html" title="html" rel="tag">html</a>, <a href="http://www.5bay.cn/tag/javascript" title="javascript" rel="tag">javascript</a>, <a href="http://www.5bay.cn/tag/js" title="js" rel="tag">js</a>, <a href="http://www.5bay.cn/tag/mod" title="mod" rel="tag">mod</a>, <a href="http://www.5bay.cn/category/network-programming/php" title="PHP" rel="tag">PHP</a>, <a href="http://www.5bay.cn/tag/url" title="url" rel="tag">url</a>, <a href="http://www.5bay.cn/tag/web" title="web" rel="tag">web</a>, <a href="http://www.5bay.cn/tag/xml" title="xml" rel="tag">xml</a>, <a href="http://www.5bay.cn/tag/%E4%BA%BA" title="人" rel="tag">人</a>, <a href="http://www.5bay.cn/tag/%E4%BB%A3%E7%A0%81" title="代码" rel="tag">代码</a>, <a href="http://www.5bay.cn/tag/%E5%88%86%E7%A6%BB" title="分离" rel="tag">分离</a>, <a href="http://www.5bay.cn/tag/%E5%AF%B9%E8%B1%A1" title="对象" rel="tag">对象</a>, <a href="http://www.5bay.cn/tag/%E5%B1%9E%E6%80%A7" title="属性" rel="tag">属性</a>, <a href="http://www.5bay.cn/tag/%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F" title="应用程序" rel="tag">应用程序</a>, <a href="http://www.5bay.cn/tag/%E6%95%B0%E6%8D%AE" title="数据" rel="tag">数据</a>, <a href="http://www.5bay.cn/tag/%E6%95%B0%E6%8D%AE%E5%BA%93" title="数据库" rel="tag">数据库</a>, <a href="http://www.5bay.cn/tag/%E6%96%B9%E6%B3%95" title="方法" rel="tag">方法</a>, <a href="http://www.5bay.cn/tag/%E6%B5%8F%E8%A7%88%E5%99%A8" title="浏览器" rel="tag">浏览器</a>, <a href="http://www.5bay.cn/tag/%E7%A8%8B%E5%BA%8F" title="程序" rel="tag">程序</a>, <a href="http://www.5bay.cn/tag/%E7%B1%BB" title="类" rel="tag">类</a>, <a href="http://www.5bay.cn/tag/%E7%BD%91%E7%AB%99" title="网站" rel="tag">网站</a>, <a href="http://www.5bay.cn/category/network-programming" title="网络编程" rel="tag">网络编程</a>, <a href="http://www.5bay.cn/tag/%E8%87%AA%E8%BA%AB" title="自身" rel="tag">自身</a>, <a href="http://www.5bay.cn/tag/e" title="诫" rel="tag">诫</a>, <a href="http://www.5bay.cn/tag/%E9%93%BE%E6%8E%A5" title="链接" rel="tag">链接</a>, <a href="http://www.5bay.cn/tag/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1" title="面向对象" rel="tag">面向对象</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.5bay.cn/network-programming/eesoneeajaxeehuai.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS 中的太极拳口诀</title>
		<link>http://www.5bay.cn/me/csseeeeyao.html</link>
		<comments>http://www.5bay.cn/me/csseeeeyao.html#comments</comments>
		<pubDate>Thu, 22 Jul 2010 14:42:52 +0000</pubDate>
		<dc:creator>江小邪</dc:creator>
				<category><![CDATA[邪人邪语]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[人]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[兼容]]></category>
		<category><![CDATA[图片]]></category>
		<category><![CDATA[容器]]></category>
		<category><![CDATA[模板]]></category>
		<category><![CDATA[网站]]></category>
		<category><![CDATA[设计]]></category>
		<category><![CDATA[诫]]></category>
		<category><![CDATA[链接]]></category>

		<guid isPermaLink="false">http://www.5bay.cn/?p=434</guid>
		<description><![CDATA[<a href="http://www.5bay.cn/me/csseeeeyao.html"><img align="left" hspace="5" width="150" height="150" src="http://www.5bay.cn/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>在做网站过程中，常常要修改网站模板，而模板受css控制。如果在用CSS设计布局时遇到BUG，请认真阅读以下内容，非常容易记忆的，不知道哪位高人把CSS BUG编成了*****了！看看好不好记住呢？ 一、IE边框若显若无，须注意，定是高度设置已忘记； 二、浮动产生有缘故，若要父层包含住，紧跟浮动要清除，容器自然显其中； 三、三像素文本慢移不必慌，高度设置帮你忙； 四、兼容各个浏览须注意，默认设置行高可能是*****； 五、独立清除浮动须铭记，行高设无，高设零，设计效果兼浏览； 六、学布局须思路，路随布局原理自然直，轻松驾驭html，流水布局少hack，代码清爽，兼容好，友好引擎喜欢迎。 七、所有标签皆有源，只是默认各不同，span是无极，无极生两仪&#8212;内联和块级，img较特殊，但也遵法理，其他只是改造各不同，一个*号全归原，层叠样式理须多练习，万物皆规律。 八、图片链接排版须小心，图片链接文字链接若对齐，padding和vertical-align:middle要设定，虽差微细倒无妨。 九、IE浮动双边距，请用display：inline拘。 十、列表横向排版，列表代码须紧靠，空隙自消须铭记。 相关博文2010年07月26日 -- 使用Ajax时的十个常犯的错误 (0)2010年07月26日 -- ajax的缺点 (0)2010年07月26日 -- Ajax的工作原理 (1)2010年07月26日 -- 基于JSON的高级AJAX开发技术 (0)2010年05月23日 -- nginx的rewrite规则 (1)2010年07月26日 -- AJAX应用程序开发七宗罪 (0)2010年07月26日 -- PHP安全之数据过滤 (0)2010年05月23日 -- 图片轮换类，IE7、OP、FF、Chrome测试通过 (2)2010年05月23日 -- 《高性能网站建设指南》读书笔记 (0)2010年07月28日 -- ASP防注入新方式，希望对大家是有用的 (0)2010年07月28日 -- Webshell下破解计算机管理员密码 (0)2010年07月28日 -- 帝国备份王(Empirebak)拿webshell (0)2010年07月26日 -- 最令PHP初学者头痛的十四个问题 (0)2010年07月26日 -- 深入探讨PHP中的内存管理问题 (0)2010年07月26日 [...]]]></description>
			<content:encoded><![CDATA[<p>在做网站过程中，常常要修改网站模板，而模板受css控制。如果在用CSS设计布局时遇到BUG，请认真阅读以下内容，非常容易记忆的，不知道哪位高人把CSS BUG编成了*****了！看看好不好记住呢？<br />
一、IE边框若显若无，须注意，定是高度设置已忘记；<br />
二、浮动产生有缘故，若要父层包含住，紧跟浮动要清除，容器自然显其中；<br />
三、三像素文本慢移不必慌，高度设置帮你忙；<br />
四、兼容各个浏览须注意，默认设置行高可能是*****；<br />
五、独立清除浮动须铭记，行高设无，高设零，设计效果兼浏览；<br />
六、学布局须思路，路随布局原理自然直，轻松驾驭html，流水布局少hack，代码清爽，兼容好，友好引擎喜欢迎。<br />
七、所有标签皆有源，只是默认各不同，span是无极，无极生两仪&mdash;内联和块级，img较特殊，但也遵法理，其他只是改造各不同，一个*号全归原，层叠样式理须多练习，万物皆规律。<br />
八、图片链接排版须小心，图片链接文字链接若对齐，padding和vertical-align:middle要设定，虽差微细倒无妨。<br />
九、IE浮动双边距，请用display：inline拘。<br />
十、列表横向排版，列表代码须紧靠，空隙自消须铭记。</p>
<h2  class="related_post_title">相关博文</h2><ul class="related_post"><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eejaxeeeeee.html" title="使用Ajax时的十个常犯的错误">使用Ajax时的十个常犯的错误</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxxuan.html" title="ajax的缺点">ajax的缺点</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxeeee.html" title="Ajax的工作原理">Ajax的工作原理</a> (1)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eesoneeajaxeehuai.html" title="基于JSON的高级AJAX开发技术">基于JSON的高级AJAX开发技术</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/nginxderewriteguize.html" title="nginx的rewrite规则">nginx的rewrite规则</a> (1)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxeeaoe.html" title="AJAX应用程序开发七宗罪">AJAX应用程序开发七宗罪</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/phpeezhanchang.html" title="PHP安全之数据过滤">PHP安全之数据过滤</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/network-programming/tupianlunhuanleiie7opffchromeceshitongguo.html" title="图片轮换类，IE7、OP、FF、Chrome测试通过">图片轮换类，IE7、OP、FF、Chrome测试通过</a> (2)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/gaoxingnengwangzhanjianshezhinandushubiji.html" title="《高性能网站建设指南》读书笔记">《高性能网站建设指南》读书笔记</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/aspeaojie.html" title="ASP防注入新方式，希望对大家是有用的">ASP防注入新方式，希望对大家是有用的</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/webshelleechueeee.html" title="Webshell下破解计算机管理员密码">Webshell下破解计算机管理员密码</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/aoeempirebakeebshell.html" title="帝国备份王(Empirebak)拿webshell">帝国备份王(Empirebak)拿webshell</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eeeeeeee.html" title="最令PHP初学者头痛的十四个问题">最令PHP初学者头痛的十四个问题</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/peeeeee.html" title="深入探讨PHP中的内存管理问题">深入探讨PHP中的内存管理问题</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajax.html" title="AJAX的各种控件和类库">AJAX的各种控件和类库</a> (0)</li></ul>
	标签Tags：<a href="http://www.5bay.cn/tag/css" title="css" rel="tag">css</a>, <a href="http://www.5bay.cn/tag/html" title="html" rel="tag">html</a>, <a href="http://www.5bay.cn/tag/ie" title="ie" rel="tag">ie</a>, <a href="http://www.5bay.cn/tag/%E4%BA%BA" title="人" rel="tag">人</a>, <a href="http://www.5bay.cn/tag/%E4%BB%A3%E7%A0%81" title="代码" rel="tag">代码</a>, <a href="http://www.5bay.cn/tag/%E5%85%BC%E5%AE%B9" title="兼容" rel="tag">兼容</a>, <a href="http://www.5bay.cn/tag/%E5%9B%BE%E7%89%87" title="图片" rel="tag">图片</a>, <a href="http://www.5bay.cn/tag/%E5%AE%B9%E5%99%A8" title="容器" rel="tag">容器</a>, <a href="http://www.5bay.cn/tag/%E6%A8%A1%E6%9D%BF" title="模板" rel="tag">模板</a>, <a href="http://www.5bay.cn/tag/%E7%BD%91%E7%AB%99" title="网站" rel="tag">网站</a>, <a href="http://www.5bay.cn/tag/%E8%AE%BE%E8%AE%A1" title="设计" rel="tag">设计</a>, <a href="http://www.5bay.cn/tag/e" title="诫" rel="tag">诫</a>, <a href="http://www.5bay.cn/category/me" title="邪人邪语" rel="tag">邪人邪语</a>, <a href="http://www.5bay.cn/tag/%E9%93%BE%E6%8E%A5" title="链接" rel="tag">链接</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.5bay.cn/me/csseeeeyao.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rsync详解</title>
		<link>http://www.5bay.cn/server-building/rsyncxiangjie.html</link>
		<comments>http://www.5bay.cn/server-building/rsyncxiangjie.html#comments</comments>
		<pubDate>Sat, 22 May 2010 21:38:09 +0000</pubDate>
		<dc:creator>江小邪</dc:creator>
				<category><![CDATA[服务器构建&安全]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[include]]></category>
		<category><![CDATA[mod]]></category>
		<category><![CDATA[path]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[判断]]></category>
		<category><![CDATA[失败]]></category>
		<category><![CDATA[实例]]></category>
		<category><![CDATA[密码]]></category>
		<category><![CDATA[属性]]></category>
		<category><![CDATA[工具]]></category>
		<category><![CDATA[搜索]]></category>
		<category><![CDATA[数据]]></category>
		<category><![CDATA[方法]]></category>
		<category><![CDATA[更新]]></category>
		<category><![CDATA[源代码]]></category>
		<category><![CDATA[版本]]></category>
		<category><![CDATA[程序]]></category>
		<category><![CDATA[类]]></category>
		<category><![CDATA[系统]]></category>
		<category><![CDATA[网站]]></category>
		<category><![CDATA[表]]></category>
		<category><![CDATA[说明]]></category>
		<category><![CDATA[连接]]></category>
		<category><![CDATA[链接]]></category>
		<category><![CDATA[错误]]></category>
		<category><![CDATA[镜像]]></category>
		<category><![CDATA[隐藏]]></category>

		<guid isPermaLink="false">http://www.5bay.cn/?p=380</guid>
		<description><![CDATA[<a href="http://www.5bay.cn/server-building/rsyncxiangjie.html"><img align="left" hspace="5" width="150" height="150" src="http://www.5bay.cn/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>1、什么是Rsync Rsync（remote synchronize）是一个远程数据同步工具，可通过LAN/WAN快速同步多台主机间的文件。Rsync使用所谓的“Rsync算法”来使本地和远程两个主机之间的文件达到同步，这个算法只传送两个文件的不同部分，而不是每次都整份传送，因此速度相当快。   Rsync本来是用于替代rcp的一个工具，目前由rsync.samba.org维护，所以rsync.conf文件的格式类似于samba的主配置文件。Rsync可以通过rsh或ssh使用，也能以daemon模式去运行，在以daemon方式运行时Rsync server会打开一个873端口，等待客户端去连接。连接时，Rsync server会检查口令是否相符，若通过口令查核，则可以开始进行文件传输。第一次连通完成时，会把整份文件传输一次，以后则就只需进行增量备份。 Rsync支持大多数的类Unix系统，无论是Linux、Solaris还是BSD上都经过了良好的测试。此外，它在windows平台下也有相应的版本，如cwRsync和Sync2NAS等工具。 Rsync的基本特点如下： 1.可以镜像保存整个目录树和文件系统； 2.可以很容易做到保持原来文件的权限、时间、软硬链接等； 3.无须特殊权限即可安装； 4.优化的流程，文件传输效率高； 5.可以使用rsh、ssh等方式来传输文件，当然也可以通过直接的socket连接； 6.支持匿名传输。 2、Rsync同步算法 Rsync只所以同步文件的速度相当快，是因为“Rsync同步算法”能在很短的时间内计算出需要备份的数据，关于Rsync的同步算法描述如下： 假定在1号和2号两台计算机之间同步相似的文件A与B，其中1号对文件A拥有访问权，2号对文件B拥有访问权。并且假定主机1号与2号之间的网络带宽很小。那么rsync算法将通过下面的五个步骤来完成： 1、2号将文件B分割成一组不重叠的固定大小为S字节的数据块，最后一块可能会比S 小。 2、2号对每一个分割好的数据块执行两种校验：一种是32位的滚动弱校验，另一种是128位的MD4强校验。 3、2号将这些校验结果发给1号。 4、1号通过搜索文件A的所有大小为S的数据块(偏移量可以任选，不一定非要是S的倍数)，来寻找与文件B的某一块有着相同的弱校验码和强校验码的数据块。这项工作可以借助滚动校验的特性很快完成。 5、1号发给2号一串指令来生成文件A在2号上的备份。这里的每一条指令要么是对文件B经拥有某一个数据块而不须重传的证明，要么是一个数据块，这个数据块肯定是没有与文件B的任何一个数据块匹配上的。 3、Rsync参数说明 3.1 rsyncd.conf配置文件 －、全局参数 在文件中[module]之前的所有参数都是全局参数，当然也可以在全局参数部分定义模块参数，这时候该参数的值就是所有模块的默认值。 port 指定后台程序使用的端口号，默认为873。 motd file “motd file”参数用来指定一个消息文件，当客户连接服务器时该文件的内容显示给客户，默认是没有motd文件的。 log file “log file”指定rsync的日志文件，而不将日志发送给syslog。比如可指定为“/var/log/rsyncd.log”。 pid file 指定rsync的pid文件，通常指定为“/var/run/rsyncd.pid”。 syslog facility 指定rsync发送日志消息给syslog时的消息级别，常见的消息级别是：uth, authpriv, cron, daemon, ftp, kern, lpr, mail, news, security, sys-log, [...]]]></description>
			<content:encoded><![CDATA[<p>1、什么是Rsync</p>
<p>Rsync（remote synchronize）是一个远程数据同步工具，可通过LAN/WAN快速同步多台主机间的文件。Rsync使用所谓的“Rsync算法”来使本地和远程两个主机之间的文件达到同步，这个算法只传送两个文件的不同部分，而不是每次都整份传送，因此速度相当快。</p>
<p> <span id="more-380"></span></p>
<p>Rsync本来是用于替代rcp的一个工具，目前由rsync.samba.org维护，所以rsync.conf文件的格式类似于samba的主配置文件。Rsync可以通过rsh或ssh使用，也能以daemon模式去运行，在以daemon方式运行时Rsync server会打开一个873端口，等待客户端去连接。连接时，Rsync server会检查口令是否相符，若通过口令查核，则可以开始进行文件传输。第一次连通完成时，会把整份文件传输一次，以后则就只需进行增量备份。</p>
<p>Rsync支持大多数的类Unix系统，无论是Linux、Solaris还是BSD上都经过了良好的测试。此外，它在windows平台下也有相应的版本，如cwRsync和Sync2NAS等工具。</p>
<p>Rsync的基本特点如下：</p>
<p>1.可以镜像保存整个目录树和文件系统；</p>
<p>2.可以很容易做到保持原来文件的权限、时间、软硬链接等；</p>
<p>3.无须特殊权限即可安装；</p>
<p>4.优化的流程，文件传输效率高；</p>
<p>5.可以使用rsh、ssh等方式来传输文件，当然也可以通过直接的socket连接；</p>
<p>6.支持匿名传输。<br />
2、Rsync同步算法</p>
<p>Rsync只所以同步文件的速度相当快，是因为“Rsync同步算法”能在很短的时间内计算出需要备份的数据，关于Rsync的同步算法描述如下：</p>
<p>假定在1号和2号两台计算机之间同步相似的文件A与B，其中1号对文件A拥有访问权，2号对文件B拥有访问权。并且假定主机1号与2号之间的网络带宽很小。那么rsync算法将通过下面的五个步骤来完成：</p>
<p>1、2号将文件B分割成一组不重叠的固定大小为S字节的数据块，最后一块可能会比S 小。<br />
2、2号对每一个分割好的数据块执行两种校验：一种是32位的滚动弱校验，另一种是128位的MD4强校验。<br />
3、2号将这些校验结果发给1号。<br />
4、1号通过搜索文件A的所有大小为S的数据块(偏移量可以任选，不一定非要是S的倍数)，来寻找与文件B的某一块有着相同的弱校验码和强校验码的数据块。这项工作可以借助滚动校验的特性很快完成。<br />
5、1号发给2号一串指令来生成文件A在2号上的备份。这里的每一条指令要么是对文件B经拥有某一个数据块而不须重传的证明，要么是一个数据块，这个数据块肯定是没有与文件B的任何一个数据块匹配上的。</p>
<p>3、Rsync参数说明<br />
3.1 rsyncd.conf配置文件<br />
－、全局参数</p>
<p>在文件中[module]之前的所有参数都是全局参数，当然也可以在全局参数部分定义模块参数，这时候该参数的值就是所有模块的默认值。</p>
<p>port</p>
<p>指定后台程序使用的端口号，默认为873。<br />
motd file</p>
<p>“motd file”参数用来指定一个消息文件，当客户连接服务器时该文件的内容显示给客户，默认是没有motd文件的。<br />
log file</p>
<p>“log file”指定rsync的日志文件，而不将日志发送给syslog。比如可指定为“/var/log/rsyncd.log”。<br />
pid file</p>
<p>指定rsync的pid文件，通常指定为“/var/run/rsyncd.pid”。<br />
syslog facility</p>
<p>指定rsync发送日志消息给syslog时的消息级别，常见的消息级别是：uth, authpriv, cron, daemon, ftp, kern, lpr, mail, news, security, sys-log, user, uucp, local0, local1, local2, local3,local4, local5, local6和local7。默认值是daemon。</p>
<p>二、模块参数</p>
<p>主要是定义服务器哪个目录要被同步。其格式必须为“[module]”形式，这个名字就是在rsync 客户端看到的名字，其实有点象Samba服务器提供的共享名。而服务器真正同步的数据是通过 path 来指定的。我们可以根据自己的需要，来指定多个模块，模块中可以定义以下参数：</p>
<p>comment</p>
<p>给模块指定一个描述，该描述连同模块名在客户连接得到模块列表时显示给客户。默认没有描述定义。<br />
path</p>
<p>指定该模块的供备份的目录树路径，该参数是必须指定的。<br />
use chroot</p>
<p>如果”use chroot”指定为true，那么rsync在传输文件以前首先chroot到path参数所指定的目录下。这样做的原因是实现额外的安全防护，但是缺点是需要以roots权限，并且不能备份指向外部的符号连接所指向的目录文件。默认情况下chroot值为true。<br />
uid</p>
<p>该选项指定当该模块传输文件时守护进程应该具有的uid，配合gid选项使用可以确定哪些可以访问怎么样的文件权限，默认值是”nobody”。<br />
gid</p>
<p>该选项指定当该模块传输文件时守护进程应该具有的gid。默认值为”nobody”。<br />
max connections</p>
<p>指定该模块的最大并发连接数量以保护服务器，超过限制的连接请求将被告知随后再试。默认值是0，也就是没有限制。<br />
list</p>
<p>该选项设定当客户请求可以使用的模块列表时，该模块是否应该被列出。如果设置该选项为false，可以创建隐藏的模块。默认值是true。<br />
read only</p>
<p>该选项设定是否允许客户上载文件。如果为true那么任何上载请求都会失败，如果为false并且服务器目录读写权限允许那么上载是允许的。默认值为true。<br />
exclude</p>
<p>用来指定多个由空格隔开的多个文件或目录(相对路径)，并将其添加到exclude列表中。这等同于在客户端命令中使用&#8211;exclude来指定模式，一个模块只能指定一个exclude选项。但是需要注意的一点是该选项有一定的安全性问题，客户很有可能绕过exclude列表，如果希望确保特定的文件不能被访问，那就最好结合uid/gid选项一起使用。<br />
exclude from</p>
<p>指定一个包含exclude模式的定义的文件名，服务器从该文件中读取exclude列表定义。<br />
<a href="http://www.5bay.cn/tag/include" class="st_tag internal_tag" rel="tag" title="标签 include 下的日志">include</a></p>
<p>用来指定不排除符合要求的文件或目录。这等同于在客户端命令中使用&#8211;include来指定模式，结合include和exclude可以定义复杂的exclude/include规则。<br />
include from</p>
<p>指定一个包含include模式的定义的文件名，服务器从该文件中读取include列表定义。<br />
auth users</p>
<p>该选项指定由空格或逗号分隔的用户名列表，只有这些用户才允许连接该模块。这里的用户和系统用户没有任何关系。如果”auth users”被设置，那么客户端发出对该模块的连接请求以后会被rsync请求challenged进行验证身份这里使用的challenge/response认证协议。用户的名和密码以明文方式存放在”secrets file”选项指定的文件中。默认情况下无需密码就可以连接模块(也就是匿名方式)。<br />
secrets file</p>
<p>该选项指定一个包含定义用户名:密码对的文件。只有在”auth users”被定义时，该文件才有作用。文件每行包含一个username:passwd对。一般来说密码最好不要超过8个字符。没有默认的secures file名，需要限式指定一个(例如：/etc/rsyncd.passwd)。注意：该文件的权限一定要是600，否则客户端将不能连接服务器。<br />
strict modes</p>
<p>该选项指定是否监测密码文件的权限，如果该选项值为true那么密码文件只能被rsync服务器运行身份的用户访问，其他任何用户不可以访问该文件。默认值为true。<br />
hosts allow</p>
<p>该选项指定哪些IP的客户允许连接该模块。客户模式定义可以是以下形式：</p>
<p>单个IP地址，例如：192.167.0.1<br />
整个网段，例如：192.168.0.0/24，也可以是192.168.0.0/255.255.255.0</p>
<p>多个IP或网段需要用空格隔开，“*”则表示所有，默认是允许所有主机连接。<br />
hosts deny</p>
<p>指定不允许连接rsync服务器的机器，可以使用hosts allow的定义方式来进行定义。默认是没有hosts deny定义。<br />
ignore errors</p>
<p>指定rsyncd在判断是否运行传输时的删除操作时忽略server上的IO错误，一般来说rsync在出现IO错误时将将跳过&#8211;delete操作，以防止因为暂时的资源不足或其它IO错误导致的严重问题。<br />
ignore nonreadable</p>
<p>指定rysnc服务器完全忽略那些用户没有访问权限的文件。这对于在需要备份的目录中有些文件是不应该被备份者得到的情况是有意义的。<br />
lock file</p>
<p>指定支持max connections参数的锁文件，默认值是/var/run/rsyncd.lock。<br />
transfer logging</p>
<p>使rsync服务器使用ftp格式的文件来记录下载和上载操作在自己单独的日志中。<br />
log format</p>
<p>通过该选项用户在使用transfer logging可以自己定制日志文件的字段。其格式是一个包含格式定义符的字符串，可以使用的格式定义符如下所示：</p>
<p>%h 远程主机名</p>
<p>%a 远程IP地址</p>
<p>%l 文件长度字符数</p>
<p>%p 该次rsync会话的进程id</p>
<p>%o 操作类型：”send”或”recv”</p>
<p>%f 文件名</p>
<p>%P 模块路径</p>
<p>%m 模块名</p>
<p>%t 当前时间</p>
<p>%u 认证的用户名(匿名时是null)</p>
<p>%b 实际传输的字节数</p>
<p>%c 当发送文件时，该字段记录该文件的校验码</p>
<p>默认log格式为：”%o %h [%a] %m (%u) %f %l”，一般来说,在每行的头上会添加”%t [%p] “。在源代码中同时发布有一个叫rsyncstats的perl脚本程序来统计这种格式的日志文件。<br />
timeout</p>
<p>通过该选项可以覆盖客户指定的IP超时时间。通过该选项可以确保rsync服务器不会永远等待一个崩溃的客户端。超时单位为秒钟，0表示没有超时定义，这也是默认值。对于匿名rsync服务器来说，一个理想的数字是600。<br />
refuse options</p>
<p>通过该选项可以定义一些不允许客户对该模块使用的命令参数列表。这里必须使用命令全名，而不能是简称。但发生拒绝某个命令的情况时服务器将报告错误信息然后退出。如果要防止使用压缩，应该是：”dont compress = *”。<br />
dont compress</p>
<p>用来指定那些不进行压缩处理再传输的文件，默认值是*.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz</p>
<p>3.2 Rsync命令</p>
<p>在对rsync服务器配置结束以后，下一步就需要在客户端发出rsync命令来实现将服务器端的文件备份到客户端来。rsync是一个功能非常强大的工具，其命令也有很多功能特色选项，我们下面就对它的选项一一进行分析说明。</p>
<p>Rsync的命令格式可以为以下六种：<br />
rsync [OPTION]&#8230; SRC DEST</p>
<p>rsync [OPTION]&#8230; SRC [USER@]HOST:DEST</p>
<p>rsync [OPTION]&#8230; [USER@]HOST:SRC DEST</p>
<p>rsync [OPTION]&#8230; [USER@]HOST::SRC DEST</p>
<p>rsync [OPTION]&#8230; SRC [USER@]HOST::DEST</p>
<p>rsync [OPTION]&#8230; rsync://[USER@]HOST[:PORT]/SRC [DEST]<br />
对应于以上六种命令格式，rsync有六种不同的工作模式：</p>
<p>1)拷贝本地文件。当SRC和DES路径信息都不包含有单个冒号”:”分隔符时就启动这种工作模式。如：rsync -a /data /backup</p>
<p>2)使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DST路径地址包含单个冒号”:”分隔符时启动该模式。如：rsync -avz *.c foo:src</p>
<p>3)使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC地址路径包含单个冒号”:”分隔符时启动该模式。如：rsync -avz foo:src/bar /data</p>
<p>4)从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含”::”分隔符时启动该模式。如：rsync -av <a href="mailto:root@172.16.78.192::www">root@172.16.78.192::www</a> /databack</p>
<p>5)从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含”::”分隔符时启动该模式。如：rsync -av /databack <a href="mailto:root@172.16.78.192::www">root@172.16.78.192::www</a></p>
<p>6)列远程机的文件列表。这类似于rsync传输，不过只要在命令中省略掉本地机信息即可。如：rsync -v rsync://172.16.78.192/www<br />
rsync参数的具体解释如下：<br />
-v, &#8211;verbose 详细模式输出<br />
-q, &#8211;quiet 精简输出模式<br />
-c, &#8211;checksum 打开校验开关，强制对文件传输进行校验<br />
-a, &#8211;archive 归档模式，表示以递归方式传输文件，并保持所有文件属性，等于-rlptgoD<br />
-r, &#8211;recursive 对子目录以递归模式处理<br />
-R, &#8211;relative 使用相对路径信息<br />
-b, &#8211;backup 创建备份，也就是对于目的已经存在有同样的文件名时，将老的文件重新命名为~filename。可以使用&#8211;suffix选项来指定不同的备份文件前缀。<br />
&#8211;backup-dir 将备份文件(如~filename)存放在在目录下。<br />
-suffix=SUFFIX 定义备份文件前缀<br />
-u, &#8211;update 仅仅进行更新，也就是跳过所有已经存在于DST，并且文件时间晚于要备份的文件。(不覆盖更新的文件)<br />
-l, &#8211;links 保留软链结<br />
-L, &#8211;copy-links 想对待常规文件一样处理软链结<br />
&#8211;copy-unsafe-links 仅仅拷贝指向SRC路径目录树以外的链结<br />
&#8211;safe-links 忽略指向SRC路径目录树以外的链结<br />
-H, &#8211;hard-links 保留硬链结<br />
-p, &#8211;perms 保持文件权限<br />
-o, &#8211;owner 保持文件属主信息<br />
-g, &#8211;group 保持文件属组信息<br />
-D, &#8211;devices 保持设备文件信息<br />
-t, &#8211;times 保持文件时间信息<br />
-S, &#8211;sparse 对稀疏文件进行特殊处理以节省DST的空间<br />
-n, &#8211;dry-run现实哪些文件将被传输<br />
-W, &#8211;whole-file 拷贝文件，不进行增量检测<br />
-x, &#8211;one-file-system 不要跨越文件系统边界<br />
-B, &#8211;block-size=SIZE 检验算法使用的块尺寸，默认是700字节<br />
-e, &#8211;rsh=COMMAND 指定使用rsh、ssh方式进行数据同步<br />
&#8211;rsync-path=PATH 指定远程服务器上的rsync命令所在路径信息<br />
-C, &#8211;cvs-exclude 使用和CVS一样的方法自动忽略文件，用来排除那些不希望传输的文件<br />
&#8211;existing 仅仅更新那些已经存在于DST的文件，而不备份那些新创建的文件<br />
&#8211;delete 删除那些DST中SRC没有的文件<br />
&#8211;delete-excluded 同样删除接收端那些被该选项指定排除的文件<br />
&#8211;delete-after 传输结束以后再删除<br />
&#8211;ignore-errors 及时出现IO错误也进行删除<br />
&#8211;max-delete=NUM 最多删除NUM个文件<br />
&#8211;partial 保留那些因故没有完全传输的文件，以是加快随后的再次传输<br />
&#8211;force 强制删除目录，即使不为空<br />
&#8211;numeric-ids 不将数字的用户和组ID匹配为用户名和组名<br />
&#8211;timeout=TIME IP超时时间，单位为秒<br />
-I, &#8211;ignore-times 不跳过那些有同样的时间和长度的文件<br />
&#8211;size-only 当决定是否要备份文件时，仅仅察看文件大小而不考虑文件时间<br />
&#8211;modify-window=NUM 决定文件是否时间相同时使用的时间戳窗口，默认为0<br />
-T &#8211;temp-dir=DIR 在DIR中创建临时文件<br />
&#8211;compare-dest=DIR 同样比较DIR中的文件来决定是否需要备份<br />
-P 等同于 &#8211;partial<br />
&#8211;progress 显示备份过程<br />
-z, &#8211;compress 对备份的文件在传输时进行压缩处理<br />
&#8211;exclude=PATTERN 指定排除不需要传输的文件模式<br />
&#8211;include=PATTERN 指定不排除而需要传输的文件模式<br />
&#8211;exclude-from=FILE 排除FILE中指定模式的文件<br />
&#8211;include-from=FILE 不排除FILE指定模式匹配的文件<br />
&#8211;version 打印版本信息<br />
&#8211;address 绑定到特定的地址<br />
&#8211;config=FILE 指定其他的配置文件，不使用默认的rsyncd.conf文件<br />
&#8211;port=PORT 指定其他的rsync服务端口<br />
&#8211;blocking-io 对远程shell使用阻塞IO<br />
-stats 给出某些文件的传输状态<br />
&#8211;progress 在传输时现实传输过程<br />
&#8211;log-format=formAT 指定日志文件格式<br />
&#8211;password-file=FILE 从FILE中得到密码<br />
&#8211;bwlimit=KBPS 限制I/O带宽，KBytes per second<br />
-h, &#8211;help 显示帮助信息</p>
<p>4、Rsync使用实例<br />
4.1、SSH方式</p>
<p>1、首先在服务端启动ssh服务：<br />
# service sshd start</p>
<p>启动 sshd： [确定]<br />
2、使用rsync进行同步</p>
<p>接下来就可以在客户端使用rsync命令来备份服务端上的数据了，SSH方式是通过系统用户来进行备份的，如下：<br />
# rsync -vzrtopg &#8211;progress -e ssh &#8211;delete <a href="mailto:work@172.16.78.192:/www/">work@172.16.78.192:/www/</a>* /databack/experiment/rsync</p>
<p><a href="mailto:work@172.16.78.192%20s">work@172.16.78.192&#8242;s</a> password:</p>
<p>receiving file list &#8230;</p>
<p>5 files to consider</p>
<p>test/</p>
<p>a</p>
<p>0 100% 0.00kB/s 527:35:41 (1, 20.0% of 5)</p>
<p>b</p>
<p>67 100% 65.43kB/s 0:00:00 (2, 40.0% of 5)</p>
<p>c</p>
<p>0 100% 0.00kB/s 527:35:41 (3, 60.0% of 5)</p>
<p>dd</p>
<p>100663296 100% 42.22MB/s 0:00:02 (4, 80.0% of 5)</p>
<p>sent 96 bytes received 98190 bytes 11563.06 bytes/sec</p>
<p>total size is 100663363 speedup is 1024.19<br />
上面的信息描述了整个的备份过程，以及总共备份数据的大小。<br />
4.2 、后台服务方式</p>
<p>1、启动rsync服务</p>
<p>编辑/etc/xinetd.d/rsync文件，将其中的disable=yes改为disable=no，并重启xinetd服务，如下：<br />
# vi /etc/xinetd.d/rsync</p>
<p>#default: off</p>
<p># description: The rsync <a href="http://www.5bay.cn/tag/server" class="st_tag internal_tag" rel="tag" title="标签 server 下的日志">server</a> is a good addition to an ftp <a href="http://www.5bay.cn/tag/server" class="st_tag internal_tag" rel="tag" title="标签 server 下的日志">server</a>, as it \</p>
<p># allows crc checksumming etc.</p>
<p>service rsync</p>
<p>{</p>
<p>disable = no</p>
<p>socket_type = stream</p>
<p>wait = no</p>
<p>user = root</p>
<p>server = /usr/bin/rsync</p>
<p>server_args = &#8211;daemon</p>
<p>log_on_failure += USERID</p>
<p>}</p>
<p># /etc/init.d/xinetd restart</p>
<p>停止 xinetd： [确定]</p>
<p>启动 xinetd： [确定]<br />
2、创建配置文件</p>
<p>默认安装好rsync程序后，并不会自动创建rsync的主配置文件，需要手工来创建，其主配置文件为“/etc/rsyncd.conf”，创建该文件并插入如下内容：<br />
# vi /etc/rsyncd.conf</p>
<p>uid=root</p>
<p>gid=root</p>
<p>max connections=4</p>
<p>log file=/var/log/rsyncd.log</p>
<p>pid file=/var/run/rsyncd.pid</p>
<p>lock file=/var/run/rsyncd.lock</p>
<p>secrets file=/etc/rsyncd.passwd</p>
<p>hosts deny=172.16.78.0/22</p>
<p>[www]</p>
<p>comment= backup <a href="http://www.5bay.cn/tag/web" class="st_tag internal_tag" rel="tag" title="标签 web 下的日志">web</a></p>
<p>path=/www</p>
<p>read only = no</p>
<p>exclude=test</p>
<p>auth users=work<br />
3、创建密码文件</p>
<p>采用这种方式不能使用系统用户对客户端进行认证，所以需要创建一个密码文件，其格式为“username:password”，用户名可以和密码可以随便定义，最好不要和系统帐户一致，同时要把创建的密码文件权限设置为600，这在前面的模块参数做了详细介绍。<br />
# echo “work:abc123&#8243; &gt; /etc/rsyncd.passwd</p>
<p># chmod 600 /etc/rsyncd.passwd<br />
4、备份</p>
<p>完成以上工作，现在就可以对数据进行备份了，如下：<br />
# rsync -avz &#8211;progress &#8211;delete <a href="mailto:work@172.16.78.192::www">work@172.16.78.192::www</a> /databack/experiment/rsync</p>
<p>Password:</p>
<p>receiving file list &#8230;</p>
<p>6 files to consider</p>
<p>./ files&#8230;</p>
<p>a</p>
<p>0 100% 0.00kB/s 528:20:41 (1, 50.0% of 6)</p>
<p>b</p>
<p>67 100% 65.43kB/s 0:00:00 (2, 66.7% of 6)</p>
<p>c</p>
<p>0 100% 0.00kB/s 528:20:41 (3, 83.3% of 6)</p>
<p>dd</p>
<p>100663296 100% 37.49MB/s 0:00:02 (4, 100.0% of 6)</p>
<p>sent 172 bytes received 98276 bytes 17899.64 bytes/sec</p>
<p>total size is 150995011 speedup is 1533.75<br />
5、恢复</p>
<p>当服务器的数据出现问题时，那么这时就需要通过客户端的数据对服务端进行恢复，但前提是服务端允许客户端有写入权限，否则也不能在客户端直接对服务端进行恢复，使用rsync对数据进行恢复的方法如下：<br />
# rsync -avz &#8211;progress /databack/experiment/rsync/ <a href="mailto:work@172.16.78.192::www">work@172.16.78.192::www</a></p>
<p>Password:</p>
<p>building file list &#8230;</p>
<p>6 files to consider</p>
<p>./</p>
<p>a</p>
<p>b</p>
<p>67 100% 0.00kB/s 0:00:00 (2, 66.7% of 6)</p>
<p>c</p>
<p>sent 258 bytes received 76 bytes 95.43 bytes/sec</p>
<p>total size is 150995011 speedup is 452080.87</p>
<p>5、示例脚本</p>
<p>这里这些脚本都是rsync网站上的例子：<br />
1、每隔七天将数据往中心服务器做增量备份<br />
#!/bin/sh<br />
# This script does personal backups to a rsync backup server. You will end up<br />
# with a 7 day rotating incremental backup. The incrementals will go<br />
# into subdirectories named after the day of the week, and the current<br />
# full backup goes into a directory called “current”<br />
# <a href="mailto:tridge@linuxcare.com">tridge@linuxcare.com</a><br />
# directory to backup<br />
BDIR=/home/$USER<br />
# excludes file &#8211; this contains a wildcard pattern per line of files to exclude<br />
EXCLUDES=$HOME/cron/excludes<br />
# the name of the backup machine<br />
BSERVER=owl<br />
# your password on the backup server<br />
export RSYNC_PASSWORD=XXXXXX<br />
########################################################################<br />
BACKUPDIR=`date +%A`<br />
OPTS=”&#8211;force &#8211;ignore-errors &#8211;delete-excluded &#8211;exclude-from=$EXCLUDES<br />
&#8211;delete &#8211;backup &#8211;backup-dir=/$BACKUPDIR -a”<br />
export PATH=$PATH:/bin:/usr/bin:/usr/local/bin<br />
# the following line clears the last weeks incremental directory<br />
[ -d $HOME/emptydir ] || mkdir $HOME/emptydir<br />
rsync &#8211;delete -a $HOME/emptydir/ $BSERVER::$USER/$BACKUPDIR/<br />
rmdir $HOME/emptydir<br />
# now the actual transfer<br />
rsync $OPTS $BDIR $BSERVER::$USER/current<br />
2、备份至一个空闲的硬盘<br />
#!/bin/sh<br />
export PATH=/usr/local/bin:/usr/bin:/bin<br />
LIST=”rootfs usr data data2&#8243;<br />
for d in $LIST; do<br />
mount /backup/$d<br />
rsync -ax &#8211;exclude fstab &#8211;delete /$d/ /backup/$d/<br />
umount /backup/$d<br />
done<br />
DAY=`date “+%A”`<br />
rsync -a &#8211;delete /usr/local/apache /data2/backups/$DAY<br />
rsync -a &#8211;delete /data/solid /data2/backups/$DAY<br />
3、对vger.rutgers.edu的cvs树进行镜像<br />
#!/bin/bash<br />
cd /var/www/cvs/vger/<br />
PATH=/usr/local/bin:/usr/freeware/bin:/usr/bin:/bin<br />
RUN=`lps x | grep rsync | grep -v grep | wc -l`<br />
if [ "$RUN" -gt 0 ]; then<br />
echo already running<br />
exit 1<br />
fi<br />
rsync -az vger.rutgers.edu::cvs/CVSROOT/ChangeLog $HOME/ChangeLog<br />
sum1=`sum $HOME/ChangeLog`<br />
sum2=`sum /var/www/cvs/vger/CVSROOT/ChangeLog`<br />
if [ "$sum1" = "$sum2" ]; then<br />
echo nothing to do<br />
exit 0<br />
fi<br />
rsync -az &#8211;delete &#8211;force vger.rutgers.edu::cvs/ /var/www/cvs/vger/<br />
exit 0<br />
6、FAQ</p>
<p>Q：如何通过ssh进行rsync，而且无须输入密码？</p>
<p>A：可以通过以下几个步骤<br />
1. 通过ssh-keygen在server A上建立SSH keys，不要指定密码，你会在~/.ssh下看到identity和identity.pub文件</p>
<p>2. 在server B上的home目录建立子目录.ssh</p>
<p>3. 将A的identity.pub拷贝到server B上</p>
<p>4. 将identity.pub加到~[user b]/.ssh/authorized_keys</p>
<p>5. 于是server A上的A用户，可通过下面命令以用户B ssh到server B上了</p>
<p>e.g. ssh -l userB serverB</p>
<p>这样就使server A上的用户A就可以ssh以用户B的身份无需密码登陆到server B上了。<br />
Q：如何通过在不危害安全的情况下通过防火墙使用rsync?</p>
<p>A：解答如下：<br />
这通常有两种情况，一种是服务器在防火墙内，一种是服务器在防火墙外。无论哪种情况，通常还是使用ssh，这时最好新建一个备份用户，并且配置sshd仅允许这个用户通过RSA认证方式进入。如果服务器在防火墙内，则最好限定客户端的IP地址，拒绝其它所有连接。如果客户机在防火墙内，则可以简单允许防火墙打开TCP端口22的ssh外发连接就ok了。<br />
Q：我能将更改过或者删除的文件也备份上来吗？</p>
<p>A：当然可以：<br />
你可以使用如：rsync -other -options -backupdir = ./backup-2000-2-13 &#8230;这样的命令来实现。</p>
<p>这样如果源文件:/path/to/some/file.c改变了，那么旧的文件就会被移到./backup-2000-2-13/path/to/some/file.c，</p>
<p>这里这个目录需要自己手工建立起来<br />
Q：我需要在防火墙上开放哪些端口以适应rsync？</p>
<p>A：视情况而定<br />
rsync可以直接通过873端口的tcp连接传文件，也可以通过22端口的ssh来进行文件传递，但你也可以通过下列命令改变它的端口：<br />
rsync &#8211;port 8730 otherhost::</p>
<p>或者</p>
<p>rsync -e &#8216;ssh -p 2002&#8242; otherhost:<br />
Q：我如何通过rsync只复制目录结构，忽略掉文件呢？</p>
<p>A：rsync -av &#8211;include &#8216;*/&#8217; &#8211;exclude &#8216;*&#8217; source-dir dest-dir<br />
Q：为什么我总会出现”Read-only file system”的错误呢？</p>
<p>A：看看是否忘了设”read only = no”了<br />
Q：为什么我会出现<a href="mailto:%20@ERROR">&#8216;@ERROR</a>: invalid gid&#8217;的错误呢？</p>
<p>A：rsync使用时默认是用uid=nobody;gid=nobody来运行的，如果你的系统不存在nobody组的话，就会出现这样的错误，可以试试gid = nogroup或者其它<br />
Q：绑定端口873失败是怎么回事？</p>
<p>A：如果你不是以root权限运行这一守护进程的话，因为1024端口以下是特权端口，会出现这样的错误。你可以用&#8211;port参数来改变。<br />
Q：为什么我认证失败？</p>
<p>A：从你的命令行看来：<br />
你用的是：<br />
&gt; bash$ rsync -a 144.16.251.213::test test</p>
<p>&gt; Password:</p>
<p>&gt; @ERROR: auth failed on module test</p>
<p>&gt;</p>
<p>&gt; I dont understand this. Can somebody explain as to how to acomplish this.</p>
<p>&gt; All suggestions are welcome.</p>
<p>应该是没有以你的用户名登陆导致的问题，试试rsync -a <a href="mailto:max@144.16.251.213::test">max@144.16.251.213::test</a> test</p>
<h2  class="related_post_title">相关博文</h2><ul class="related_post"><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/mysqlyouhuajiquanwensousuo.html" title="mysql优化及全文搜索">mysql优化及全文搜索</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/webshelleechueeee.html" title="Webshell下破解计算机管理员密码">Webshell下破解计算机管理员密码</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eejaxeeeeee.html" title="使用Ajax时的十个常犯的错误">使用Ajax时的十个常犯的错误</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eeeeeeee.html" title="最令PHP初学者头痛的十四个问题">最令PHP初学者头痛的十四个问题</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxeeee.html" title="Ajax的工作原理">Ajax的工作原理</a> (1)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/phpeecketee.html" title="PHP和Socket简介">PHP和Socket简介</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/peeeeee.html" title="深入探讨PHP中的内存管理问题">深入探讨PHP中的内存管理问题</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxxuan.html" title="ajax的缺点">ajax的缺点</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eesoneeajaxeehuai.html" title="基于JSON的高级AJAX开发技术">基于JSON的高级AJAX开发技术</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/phpeezhanchang.html" title="PHP安全之数据过滤">PHP安全之数据过滤</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/nginxderewriteguize.html" title="nginx的rewrite规则">nginx的rewrite规则</a> (1)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/network-programming/phpzhongdememcachehanshukumemcachefunctions.html" title="PHP中的Memcache函数库（Memcache Functions）">PHP中的Memcache函数库（Memcache Functions）</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/phpeeeeeeeehuai.html" title="PHP对文本数据库的基本操作方法">PHP对文本数据库的基本操作方法</a> (0)</li><li>2008年10月17日 -- <a href="http://www.5bay.cn/game-development/%E9%9A%8F%E6%9C%BA%E6%95%B0%E6%9C%89%E5%A4%9A%E9%9A%8F%E6%9C%BA%EF%BC%9F.html" title="随机数有多随机？">随机数有多随机？</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/aspeaojie.html" title="ASP防注入新方式，希望对大家是有用的">ASP防注入新方式，希望对大家是有用的</a> (0)</li></ul>
	标签Tags：<a href="http://www.5bay.cn/tag/ie" title="ie" rel="tag">ie</a>, <a href="http://www.5bay.cn/tag/include" title="include" rel="tag">include</a>, <a href="http://www.5bay.cn/tag/mod" title="mod" rel="tag">mod</a>, <a href="http://www.5bay.cn/tag/path" title="path" rel="tag">path</a>, <a href="http://www.5bay.cn/tag/server" title="server" rel="tag">server</a>, <a href="http://www.5bay.cn/tag/web" title="web" rel="tag">web</a>, <a href="http://www.5bay.cn/tag/%E4%BB%A3%E7%A0%81" title="代码" rel="tag">代码</a>, <a href="http://www.5bay.cn/tag/%E5%88%A4%E6%96%AD" title="判断" rel="tag">判断</a>, <a href="http://www.5bay.cn/tag/%E5%A4%B1%E8%B4%A5" title="失败" rel="tag">失败</a>, <a href="http://www.5bay.cn/tag/%E5%AE%9E%E4%BE%8B" title="实例" rel="tag">实例</a>, <a href="http://www.5bay.cn/tag/%E5%AF%86%E7%A0%81" title="密码" rel="tag">密码</a>, <a href="http://www.5bay.cn/tag/%E5%B1%9E%E6%80%A7" title="属性" rel="tag">属性</a>, <a href="http://www.5bay.cn/tag/%E5%B7%A5%E5%85%B7" title="工具" rel="tag">工具</a>, <a href="http://www.5bay.cn/tag/%E6%90%9C%E7%B4%A2" title="搜索" rel="tag">搜索</a>, <a href="http://www.5bay.cn/tag/%E6%95%B0%E6%8D%AE" title="数据" rel="tag">数据</a>, <a href="http://www.5bay.cn/tag/%E6%96%B9%E6%B3%95" title="方法" rel="tag">方法</a>, <a href="http://www.5bay.cn/tag/%E6%9B%B4%E6%96%B0" title="更新" rel="tag">更新</a>, <a href="http://www.5bay.cn/category/server-building" title="服务器构建&amp;安全" rel="tag">服务器构建&amp;安全</a>, <a href="http://www.5bay.cn/tag/%E6%BA%90%E4%BB%A3%E7%A0%81" title="源代码" rel="tag">源代码</a>, <a href="http://www.5bay.cn/tag/%E7%89%88%E6%9C%AC" title="版本" rel="tag">版本</a>, <a href="http://www.5bay.cn/tag/%E7%A8%8B%E5%BA%8F" title="程序" rel="tag">程序</a>, <a href="http://www.5bay.cn/tag/%E7%B1%BB" title="类" rel="tag">类</a>, <a href="http://www.5bay.cn/tag/%E7%B3%BB%E7%BB%9F" title="系统" rel="tag">系统</a>, <a href="http://www.5bay.cn/tag/%E7%BD%91%E7%AB%99" title="网站" rel="tag">网站</a>, <a href="http://www.5bay.cn/tag/%E8%A1%A8" title="表" rel="tag">表</a>, <a href="http://www.5bay.cn/tag/%E8%AF%B4%E6%98%8E" title="说明" rel="tag">说明</a>, <a href="http://www.5bay.cn/tag/%E8%BF%9E%E6%8E%A5" title="连接" rel="tag">连接</a>, <a href="http://www.5bay.cn/tag/%E9%93%BE%E6%8E%A5" title="链接" rel="tag">链接</a>, <a href="http://www.5bay.cn/tag/%E9%94%99%E8%AF%AF" title="错误" rel="tag">错误</a>, <a href="http://www.5bay.cn/tag/%E9%95%9C%E5%83%8F" title="镜像" rel="tag">镜像</a>, <a href="http://www.5bay.cn/tag/%E9%9A%90%E8%97%8F" title="隐藏" rel="tag">隐藏</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.5bay.cn/server-building/rsyncxiangjie.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nginx的rewrite规则</title>
		<link>http://www.5bay.cn/server-building/nginxderewriteguize.html</link>
		<comments>http://www.5bay.cn/server-building/nginxderewriteguize.html#comments</comments>
		<pubDate>Sat, 22 May 2010 21:17:23 +0000</pubDate>
		<dc:creator>江小邪</dc:creator>
				<category><![CDATA[服务器构建&安全]]></category>
		<category><![CDATA[301]]></category>
		<category><![CDATA[access]]></category>
		<category><![CDATA[cookie]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[domain]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[include]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[swf]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[判断]]></category>
		<category><![CDATA[图片]]></category>
		<category><![CDATA[密码]]></category>
		<category><![CDATA[正则表达式]]></category>
		<category><![CDATA[浏览器]]></category>
		<category><![CDATA[网站]]></category>
		<category><![CDATA[自定义]]></category>
		<category><![CDATA[表]]></category>
		<category><![CDATA[重定向]]></category>
		<category><![CDATA[链接]]></category>
		<category><![CDATA[错误]]></category>
		<category><![CDATA[页面]]></category>

		<guid isPermaLink="false">http://www.5bay.cn/?p=359</guid>
		<description><![CDATA[<a href="http://www.5bay.cn/server-building/nginxderewriteguize.html"><img align="left" hspace="5" width="150" height="150" src="http://www.5bay.cn/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>正则表达式匹配，其中： * ~ 为区分大小写匹配 * ~* 为不区分大小写匹配 * !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 文件及目录匹配，其中： * -f和!-f用来判断是否存在文件 * -d和!-d用来判断是否存在目录 * -e和!-e用来判断是否存在文件或目录 * -x和!-x用来判断文件是否可执行 flag标记有： * last 相当于Apache里的[L]标记，表示完成rewrite * break 终止匹配, 不再匹配后面的规则 * redirect 返回302临时重定向 地址栏会显示跳转后的地址 * permanent 返回301永久重定向 地址栏会显示跳转后的地址 一些可用的全局变量有，可以用做条件判断(待补全) $args $content_length $content_type $document_root $document_uri $host $http_user_agent $http_cookie $limit_rate $request_body_file $request_method $remote_addr $remote_port $remote_user $request_filename $request_uri $query_string $scheme $server_protocol $server_addr [...]]]></description>
			<content:encoded><![CDATA[<p>正则表达式匹配，其中：</p>
<p>* ~ 为区分大小写匹配<br />
* ~* 为不区分大小写匹配<br />
* !~和!~*分别为区分大小写不匹配及不区分大小写不匹配<br />
文件及目录匹配，其中：</p>
<p>* -f和!-f用来判断是否存在文件<br />
* -d和!-d用来判断是否存在目录<br />
* -e和!-e用来判断是否存在文件或目录<br />
* -x和!-x用来判断文件是否可执行<br />
flag标记有：</p>
<p>* last 相当于Apache里的[L]标记，表示完成rewrite<br />
* break 终止匹配, 不再匹配后面的规则<br />
* redirect 返回302临时重定向 地址栏会显示跳转后的地址<br />
* permanent 返回301永久重定向 地址栏会显示跳转后的地址<br />
一些可用的全局变量有，可以用做条件判断(待补全)<span id="more-359"></span></p>
<p>$args<br />
$content_length<br />
$content_type<br />
$document_root<br />
$document_uri<br />
$host<br />
$http_user_agent<br />
$http_cookie<br />
$limit_rate<br />
$request_body_file<br />
$request_method<br />
$remote_addr<br />
$remote_port<br />
$remote_user<br />
$request_filename<br />
$request_uri<br />
$query_string<br />
$scheme<br />
$<a href="http://www.5bay.cn/tag/server" class="st_tag internal_tag" rel="tag" title="标签 server 下的日志">server</a>_protocol<br />
$server_addr<br />
$server_name<br />
$server_port<br />
$uri<br />
结合QeePHP的例子</p>
<p>if (!-d $request_filename) {<br />
rewrite ^/([a-z-A-Z]+)/([a-z-A-Z]+)/?(.*)$ /index.php?namespace=user&amp;controller=$1&amp;action=$2&amp;$3 last;<br />
rewrite ^/([a-z-A-Z]+)/?$ /index.php?namespace=user&amp;controller=$1 last;<br />
break;<br />
多目录转成参数<br />
abc.domian.com/sort/2 =&gt; abc.domian.com/index.php?act=sort&amp;name=abc&amp;id=2<br />
}</p>
<p>if ($host ~* (.*)\.<a href="http://www.5bay.cn/tag/domain" class="st_tag internal_tag" rel="tag" title="标签 domain 下的日志">domain</a>\.com) {<br />
set $sub_name $1;<br />
rewrite ^/sort\/(\d+)\/?$ /index.php?act=sort&amp;cid=$sub_name&amp;id=$1 last;<br />
}<br />
目录对换<br />
/123456/xxxx -&gt; /xxxx?id=123456</p>
<p>rewrite ^/(\d+)/(.+)/ /$2?id=$1 last;<br />
例如下面设定nginx在用户使用ie的使用重定向到/nginx-ie目录下：</p>
<p>if ($http_user_agent ~ MSIE) {<br />
rewrite ^(.*)$ /nginx-ie/$1 break;<br />
}<br />
目录自动加“/”</p>
<p>if (-d $request_filename){<br />
rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;<br />
}<br />
禁止htaccess</p>
<p>location ~/\.ht {<br />
deny all;<br />
}<br />
禁止多个目录</p>
<p>location ~ ^/(cron|templates)/ {<br />
deny all;<br />
break;<br />
}<br />
禁止以/data开头的文件<br />
可以禁止/data/下多级目录下.log.txt等请求;</p>
<p>location ~ ^/data {<br />
deny all;<br />
}<br />
禁止单个目录<br />
不能禁止.log.txt能请求</p>
<p>location /searchword/cron/ {<br />
deny all;<br />
}<br />
禁止单个文件</p>
<p>location ~ /data/sql/data.sql {<br />
deny all;<br />
}<br />
给favicon.ico和robots.txt设置过期时间;<br />
这里为favicon.ico为99天,robots.txt为7天并不记录404错误日志</p>
<p>location ~(favicon.ico) {<br />
log_not_found off;<br />
expires 99d;<br />
break;<br />
}</p>
<p>location ~(robots.txt) {<br />
log_not_found off;<br />
expires 7d;<br />
break;<br />
}<br />
设定某个文件的过期时间;这里为600秒，并不记录访问日志</p>
<p>location ^~ /html/scripts/loadhead_1.js {<br />
<a href="http://www.5bay.cn/tag/access" class="st_tag internal_tag" rel="tag" title="标签 access 下的日志">access</a>_log off;<br />
root /opt/lampp/htdocs/web;<br />
expires 600;<br />
break;<br />
}<br />
文件反盗链并设置过期时间<br />
这里的return 412 为自定义的http状态码，默认为403，方便找出正确的盗链的请求<br />
“rewrite ^/ http://leech.xxx.com/leech.gif;”显示一张防盗链图片<br />
“access_log off;”不记录访问日志，减轻压力<br />
“expires 3d”所有文件3天的浏览器缓存</p>
<p>location ~* ^.+\.(jpg|jpeg|gif|png|<a href="http://www.5bay.cn/tag/swf" class="st_tag internal_tag" rel="tag" title="标签 swf 下的日志">swf</a>|rar|zip|<a href="http://www.5bay.cn/tag/css" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">css</a>|js)$ {<br />
valid_referers none blocked *.xxx.com *.xxx.net localhost 208.97.167.194;<br />
if ($invalid_referer) {<br />
rewrite ^/ http://leech.xxx.com/leech.gif;<br />
return 412;<br />
break;<br />
}<br />
access_log off;<br />
root /opt/lampp/htdocs/web;<br />
expires 3d;<br />
break;<br />
}<br />
只充许固定ip访问网站，并加上密码</p>
<p>root /opt/htdocs/www;<br />
allow 208.97.167.194;<br />
allow 222.33.1.2;<br />
allow 231.152.49.4;<br />
deny all;<br />
auth_basic “C1G_ADMIN”;<br />
auth_basic_user_file htpasswd;<br />
将多级目录下的文件转成一个文件，增强seo效果<br />
/job-123-456-789.html 指向/job/123/456/789.html</p>
<p>rewrite ^/job-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /job/$1/$2/jobshow_$3.html last;<br />
将根目录下某个文件夹指向2级目录<br />
如/shanghaijob/</p>
<p>指向 /area/shanghai/<br />
如果你将last改成permanent，那么浏览器地址栏显是/location/shanghai/</p>
<p>rewrite ^/([0-9a-z]+)job/(.*)$ /area/$1/$2 last;<br />
上面例子有个问题是访问/shanghai 时将不会匹配</p>
<p>rewrite ^/([0-9a-z]+)job$ /area/$1/ last;<br />
rewrite ^/([0-9a-z]+)job/(.*)$ /area/$1/$2 last;<br />
这样/shanghai 也可以访问了，但页面中的相对链接无法使用，<br />
如./list_1.html真实地址是/area/shanghia/list_1.html会变成/list_1.html,导至无法访问。</p>
<p>那我加上自动跳转也是不行咯<br />
(-d $request_filename)它有个条件是必需为真实目录，而我的rewrite不是的，所以没有效果</p>
<p>if (-d $request_filename){<br />
rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;<br />
}<br />
知道原因后就好办了，让我手动跳转吧</p>
<p>rewrite ^/([0-9a-z]+)job$ /$1job/ permanent;<br />
rewrite ^/([0-9a-z]+)job/(.*)$ /area/$1/$2 last;<br />
文件和目录不存在的时候重定向：</p>
<p>if (!-e $request_filename) {<br />
proxy_pass http://127.0.0.1;<br />
}<br />
域名跳转</p>
<p>server<br />
{<br />
listen 80;<br />
server_name jump.xxx.com;<br />
index index.html index.htm index.php;<br />
root /opt/lampp/htdocs/www;<br />
rewrite ^/ http://www.xxx.com/;<br />
access_log off;<br />
}<br />
多域名转向</p>
<p>server_name www.xxx.com;<br />
index index.html index.htm index.php;<br />
root /opt/lampp/htdocs;<br />
if ($host ~ “xxx\.net”) {<br />
rewrite ^(.*) http://www.xxx.com$1 permanent;<br />
}<br />
三级域名跳转</p>
<p>if ($http_host ~* “^(.*)\.i\.xxx\.com$”) {<br />
rewrite ^(.*) http://top.xxx.com$1;<br />
break;<br />
}<br />
域名镜向</p>
<p>server<br />
{<br />
listen 80;<br />
server_name mirror.xxx.com;<br />
index index.html index.htm index.php;<br />
root /opt/lampp/htdocs/www;<br />
rewrite ^/(.*) http://www.xxx.com/$1 last;<br />
access_log off;<br />
}<br />
某个子目录作镜向</p>
<p>location ^~ /zhaopinhui {<br />
rewrite ^.+ http://zph.xxx.com/ last;<br />
break;<br />
}<br />
discuz ucenter home (uchome) rewrite</p>
<p>rewrite ^/(space|network)-(.+)\.html$ /$1.php?rewrite=$2 last;<br />
rewrite ^/(space|network)\.html$ /$1.php last;<br />
rewrite ^/([0-9]+)$ /space.php?uid=$1 last;<br />
discuz 7 rewrite</p>
<p>rewrite ^(.*)/archiver/((fid|tid)-[\w\-]+\.html)$ $1/archiver/index.php?$2 last;<br />
rewrite ^(.*)/forum-([0-9]+)-([0-9]+)\.html$ $1/forumdisplay.php?fid=$2&amp;page=$3 last;<br />
rewrite ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/viewthread.php?tid=$2&amp;extra=page\%3D$4&amp;page=$3 last;<br />
rewrite ^(.*)/profile-(username|uid)-(.+)\.html$ $1/viewpro.php?$2=$3 last;<br />
rewrite ^(.*)/space-(username|uid)-(.+)\.html$ $1/space.php?$2=$3 last;<br />
rewrite ^(.*)/tag-(.+)\.html$ $1/tag.php?name=$2 last;<br />
给discuz某版块单独配置域名</p>
<p>server_name bbs.xxx.com;</p>
<p>location = / {<br />
if ($http_host ~ news\.xxx.com$)<br />
{<br />
rewrite ^.+ http://news.xxx.com/forum-831-1.html last;<br />
break;<br />
}<br />
}<br />
discuz ucenter 头像 rewrite 优化</p>
<p>location ^~ /ucenter {<br />
location ~ .*\.php?$<br />
{<br />
#fastcgi_pass unix:/tmp/php-cgi.sock;<br />
fastcgi_pass 127.0.0.1:9000;<br />
fastcgi_index index.php;<br />
include fcgi.conf;<br />
}</p>
<p>location /ucenter/data/avatar {<br />
log_not_found off;<br />
access_log off;<br />
location ~ /(.*)_big\.jpg$ {<br />
error_page 404 /ucenter/images/noavatar_big.gif;<br />
}<br />
location ~ /(.*)_middle\.jpg$ {<br />
error_page 404 /ucenter/images/noavatar_middle.gif;<br />
}<br />
location ~ /(.*)_small\.jpg$ {<br />
error_page 404 /ucenter/images/noavatar_small.gif;<br />
}<br />
expires 300;<br />
break;<br />
}<br />
}<br />
jspace rewrite</p>
<p>location ~ .*\.php?$<br />
{<br />
#fastcgi_pass unix:/tmp/php-cgi.sock;<br />
fastcgi_pass 127.0.0.1:9000;<br />
fastcgi_index index.php;<br />
include fcgi.conf;<br />
}</p>
<p>location ~* ^/index.php/<br />
{<br />
rewrite ^/index.php/(.*) /index.php?$1 break;<br />
fastcgi_pass 127.0.0.1:9000;<br />
fastcgi_index index.php;<br />
include fcgi.conf;<br />
}</p>
<h2  class="related_post_title">相关博文</h2><ul class="related_post"><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eejaxeeeeee.html" title="使用Ajax时的十个常犯的错误">使用Ajax时的十个常犯的错误</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/rsyncxiangjie.html" title="Rsync详解">Rsync详解</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/gaoxingnengwangzhanjianshezhinandushubiji.html" title="《高性能网站建设指南》读书笔记">《高性能网站建设指南》读书笔记</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eeeeeeee.html" title="最令PHP初学者头痛的十四个问题">最令PHP初学者头痛的十四个问题</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxxuan.html" title="ajax的缺点">ajax的缺点</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/mysqlyouhuajiquanwensousuo.html" title="mysql优化及全文搜索">mysql优化及全文搜索</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajax.html" title="AJAX的各种控件和类库">AJAX的各种控件和类库</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/phpeezhanchang.html" title="PHP安全之数据过滤">PHP安全之数据过滤</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/webshelleechueeee.html" title="Webshell下破解计算机管理员密码">Webshell下破解计算机管理员密码</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/aoeempirebakeebshell.html" title="帝国备份王(Empirebak)拿webshell">帝国备份王(Empirebak)拿webshell</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/phpeecketee.html" title="PHP和Socket简介">PHP和Socket简介</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eesoneeajaxeehuai.html" title="基于JSON的高级AJAX开发技术">基于JSON的高级AJAX开发技术</a> (0)</li><li>2010年07月22日 -- <a href="http://www.5bay.cn/me/csseeeeyao.html" title="CSS 中的太极拳口诀">CSS 中的太极拳口诀</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/network-programming/phpfengzhuangchangyongjavascriptweijsleiyibiankuaisudiaoyong.html" title="PHP封装常用Javascript为JS类以便快速调用">PHP封装常用Javascript为JS类以便快速调用</a> (1)</li><li>2008年11月12日 -- <a href="http://www.5bay.cn/network-programming/javascript-ajax/documentbodyscrolltop%E4%B8%BA0.html" title="document.body.scrollTop为0">document.body.scrollTop为0</a> (0)</li></ul>
	标签Tags：<a href="http://www.5bay.cn/tag/301" title="301" rel="tag">301</a>, <a href="http://www.5bay.cn/tag/access" title="access" rel="tag">access</a>, <a href="http://www.5bay.cn/tag/cookie" title="cookie" rel="tag">cookie</a>, <a href="http://www.5bay.cn/tag/css" title="css" rel="tag">css</a>, <a href="http://www.5bay.cn/tag/domain" title="domain" rel="tag">domain</a>, <a href="http://www.5bay.cn/tag/html" title="html" rel="tag">html</a>, <a href="http://www.5bay.cn/tag/ie" title="ie" rel="tag">ie</a>, <a href="http://www.5bay.cn/tag/include" title="include" rel="tag">include</a>, <a href="http://www.5bay.cn/tag/js" title="js" rel="tag">js</a>, <a href="http://www.5bay.cn/tag/php" title="PHP" rel="tag">PHP</a>, <a href="http://www.5bay.cn/tag/seo" title="seo" rel="tag">seo</a>, <a href="http://www.5bay.cn/tag/server" title="server" rel="tag">server</a>, <a href="http://www.5bay.cn/tag/sql" title="sql" rel="tag">sql</a>, <a href="http://www.5bay.cn/tag/swf" title="swf" rel="tag">swf</a>, <a href="http://www.5bay.cn/tag/web" title="web" rel="tag">web</a>, <a href="http://www.5bay.cn/tag/%E5%88%A4%E6%96%AD" title="判断" rel="tag">判断</a>, <a href="http://www.5bay.cn/tag/%E5%9B%BE%E7%89%87" title="图片" rel="tag">图片</a>, <a href="http://www.5bay.cn/tag/%E5%AF%86%E7%A0%81" title="密码" rel="tag">密码</a>, <a href="http://www.5bay.cn/category/server-building" title="服务器构建&amp;安全" rel="tag">服务器构建&amp;安全</a>, <a href="http://www.5bay.cn/tag/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F" title="正则表达式" rel="tag">正则表达式</a>, <a href="http://www.5bay.cn/tag/%E6%B5%8F%E8%A7%88%E5%99%A8" title="浏览器" rel="tag">浏览器</a>, <a href="http://www.5bay.cn/tag/%E7%BD%91%E7%AB%99" title="网站" rel="tag">网站</a>, <a href="http://www.5bay.cn/tag/%E8%87%AA%E5%AE%9A%E4%B9%89" title="自定义" rel="tag">自定义</a>, <a href="http://www.5bay.cn/tag/%E8%A1%A8" title="表" rel="tag">表</a>, <a href="http://www.5bay.cn/tag/%E9%87%8D%E5%AE%9A%E5%90%91" title="重定向" rel="tag">重定向</a>, <a href="http://www.5bay.cn/tag/%E9%93%BE%E6%8E%A5" title="链接" rel="tag">链接</a>, <a href="http://www.5bay.cn/tag/%E9%94%99%E8%AF%AF" title="错误" rel="tag">错误</a>, <a href="http://www.5bay.cn/tag/%E9%A1%B5%E9%9D%A2" title="页面" rel="tag">页面</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.5bay.cn/server-building/nginxderewriteguize.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>《高性能网站建设指南》读书笔记</title>
		<link>http://www.5bay.cn/server-building/gaoxingnengwangzhanjianshezhinandushubiji.html</link>
		<comments>http://www.5bay.cn/server-building/gaoxingnengwangzhanjianshezhinandushubiji.html#comments</comments>
		<pubDate>Sat, 22 May 2010 21:06:26 +0000</pubDate>
		<dc:creator>江小邪</dc:creator>
				<category><![CDATA[服务器构建&安全]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[url]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[中国特色]]></category>
		<category><![CDATA[人]]></category>
		<category><![CDATA[图片]]></category>
		<category><![CDATA[方法]]></category>
		<category><![CDATA[更新]]></category>
		<category><![CDATA[浏览器]]></category>
		<category><![CDATA[组件]]></category>
		<category><![CDATA[网站]]></category>
		<category><![CDATA[表]]></category>
		<category><![CDATA[解决]]></category>
		<category><![CDATA[设计]]></category>
		<category><![CDATA[重定向]]></category>
		<category><![CDATA[页面]]></category>

		<guid isPermaLink="false">http://www.5bay.cn/?p=346</guid>
		<description><![CDATA[<a href="http://www.5bay.cn/server-building/gaoxingnengwangzhanjianshezhinandushubiji.html"><img align="left" hspace="5" width="150" height="150" src="http://www.5bay.cn/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>规则1，减少HTTP请求 这是最重要的原则，如果14条规则里只能选一条，那就是它了。可以通过多种方法减少HTTP请求，例如合并图片，合并JS和CSS等等。这一点薄荷网有很多改进的余地，首先应该把现在的JS合并了。 规则2，使用内容发布网络 内容发布网络就是CDN了，但是CDN似乎挺贵的，目前还不适合薄荷网，不过可以考虑自己弄一个网通的静态资源服务器解决有中国特色的可恶的南北互通问题。 规则3，添加Expires头 这个没什么好说的，是个建网站的人都应该知道。目前薄荷网图片,css,js,flash过期时间设置了3年，可以说是永久了，：） Expires有个麻烦的地方是内容更新问题，Ruby on Rails这方面处理的非常棒，它是在文件名后面自动带了 资源文件的timestamp，完美解决。 规则4，压缩组件 这个也没什么好说的，配置一下web server的压缩功能，减少服务器带宽，加快响应，立杆见影。 规则5，将样式表放在顶部 这条有点新鲜，虽然平常都是这么做的，但是没有想过不这样做有什么麻烦。如果不这样，浏览器是不能做到边下载边显示，用户体验很糟糕。薄荷网现在有部分样式没放在顶部，回头检查测试一下看看。 规则6，将脚本放在底部 这条是第一次听说，有些震惊。原因在于浏览器下载执行脚本的时候，会阻塞其他资源的下载，这样导致整体响应时间变长。薄荷网的脚本几乎都是放在顶部的，回头测试比较下看看。 规则7，避免CSS表达式 CSS表达是简直像个Bug，可以弃用，寻求变通的解决方便，比如事件处理器等。 规则8，使用外部的JavaScript和CSS 相信大家大部分情形下都是使用外联的，但纯粹的处理而已，内联JS和CSS似乎更快，考虑到缓存和复用，大部分情况显然是外联更划算。因此，在一些情景，例如首页，还是可以使用内联的。 规则9，减少DNS查找 DNS耗费的时间是相当可观的，因此同一页面的域名数量最好控制在2~4之间。 规则10，精简JavaScript 精简JavaScript可以显著减少Js文件的大小，减少下载时间。 规则11，避免重定向 get的重定向可以通过web server的url rewrite很好解决。 规则12，移除重复脚本 重复的脚本既增加一次http请求，又要重复执行，当然坚决移除了。 规则13，配置ETag 目前web server的ETag实现不但起不到好的效果，通常还使性能变得更差，真是一个糟糕的设计。 所以静态资源尽量去除ETag配置。但是对于刷新频率不高的Rails动态页面，这个似乎是个不错的大幅 加快响应的方法，值得再深入好好研究一番。 规则14，使Ajax可缓存 就是使用之前的规则应用于Ajax请求，：） 相关博文2010年07月26日 -- 使用Ajax时的十个常犯的错误 (0)2010年05月23日 -- nginx的rewrite规则 (1)2010年07月26日 -- AJAX应用程序开发七宗罪 (0)2010年07月26日 -- AJAX的各种控件和类库 (0)2010年07月26日 -- ajax的缺点 (0)2010年07月26日 -- [...]]]></description>
			<content:encoded><![CDATA[<p><strong>规则1，减少HTTP请求</strong></p>
<p>这是最重要的原则，如果14条规则里只能选一条，那就是它了。可以通过多种方法减少HTTP请求，例如合并图片，合并JS和CSS等等。这一点薄荷网有很多改进的余地，首先应该把现在的JS合并了。</p>
<p><strong>规则2，使用内容发布网络</strong></p>
<p>内容发布网络就是CDN了，但是CDN似乎挺贵的，目前还不适合薄荷网，不过可以考虑自己弄一个网通的静态资源服务器解决有中国特色的可恶的南北互通问题。</p>
<p><strong>规则3，添加Expires头</strong></p>
<p>这个没什么好说的，是个建网站的人都应该知道。目前薄荷网图片,<a href="http://www.5bay.cn/tag/css" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">css</a>,<a href="http://www.5bay.cn/tag/js" class="st_tag internal_tag" rel="tag" title="标签 js 下的日志">js</a>,flash过期时间设置了3年，可以说是永久了，：） Expires有个麻烦的地方是内容更新问题，Ruby on Rails这方面处理的非常棒，它是在文件名后面自动带了</p>
<p>资源文件的timestamp，完美解决。<span id="more-346"></span></p>
<p><strong>规则4，压缩组件</strong></p>
<p>这个也没什么好说的，配置一下web server的压缩功能，减少服务器带宽，加快响应，立杆见影。</p>
<p><strong>规则5，将样式表放在顶部</strong></p>
<p>这条有点新鲜，虽然平常都是这么做的，但是没有想过不这样做有什么麻烦。如果不这样，浏览器是不能做到边下载边显示，用户体验很糟糕。薄荷网现在有部分样式没放在顶部，回头检查测试一下看看。</p>
<p><strong>规则6，将脚本放在底部</strong></p>
<p>这条是第一次听说，有些震惊。原因在于浏览器下载执行脚本的时候，会阻塞其他资源的下载，这样导致整体响应时间变长。薄荷网的脚本几乎都是放在顶部的，回头测试比较下看看。</p>
<p><strong>规则7，避免CSS表达式</strong></p>
<p>CSS表达是简直像个Bug，可以弃用，寻求变通的解决方便，比如事件处理器等。</p>
<p><strong>规则8，使用外部的JavaScript和CSS</strong></p>
<p>相信大家大部分情形下都是使用外联的，但纯粹的处理而已，内联JS和CSS似乎更快，考虑到缓存和复用，大部分情况显然是外联更划算。因此，在一些情景，例如首页，还是可以使用内联的。</p>
<p><strong>规则9，减少DNS查找</strong></p>
<p>DNS耗费的时间是相当可观的，因此同一页面的域名数量最好控制在2~4之间。</p>
<p><strong>规则10，精简JavaScript</strong></p>
<p>精简JavaScript可以显著减少Js文件的大小，减少下载时间。</p>
<p><strong>规则11，避免重定向</strong></p>
<p>get的重定向可以通过web server的url rewrite很好解决。</p>
<p><strong>规则12，移除重复脚本</strong></p>
<p>重复的脚本既增加一次http请求，又要重复执行，当然坚决移除了。</p>
<p><strong>规则13，配置ETag</strong></p>
<p>目前web server的ETag实现不但起不到好的效果，通常还使性能变得更差，真是一个糟糕的设计。</p>
<p>所以静态资源尽量去除ETag配置。但是对于刷新频率不高的Rails动态页面，这个似乎是个不错的大幅</p>
<p>加快响应的方法，值得再深入好好研究一番。</p>
<p><strong>规则14，使Ajax可缓存</strong></p>
<p>就是使用之前的规则应用于Ajax请求，：）</p>
<h2  class="related_post_title">相关博文</h2><ul class="related_post"><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eejaxeeeeee.html" title="使用Ajax时的十个常犯的错误">使用Ajax时的十个常犯的错误</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/nginxderewriteguize.html" title="nginx的rewrite规则">nginx的rewrite规则</a> (1)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxeeaoe.html" title="AJAX应用程序开发七宗罪">AJAX应用程序开发七宗罪</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajax.html" title="AJAX的各种控件和类库">AJAX的各种控件和类库</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxxuan.html" title="ajax的缺点">ajax的缺点</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eesoneeajaxeehuai.html" title="基于JSON的高级AJAX开发技术">基于JSON的高级AJAX开发技术</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eeeeeeee.html" title="最令PHP初学者头痛的十四个问题">最令PHP初学者头痛的十四个问题</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxeeee.html" title="Ajax的工作原理">Ajax的工作原理</a> (1)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxeeieeeeeting.html" title="AJAX初学:IE缓存页面的问题">AJAX初学:IE缓存页面的问题</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/xmlhttpe.html" title="XMLHTTP对象封装技术">XMLHTTP对象封装技术</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/phpeezhanchang.html" title="PHP安全之数据过滤">PHP安全之数据过滤</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/rsyncxiangjie.html" title="Rsync详解">Rsync详解</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/network-programming/phpfengzhuangchangyongjavascriptweijsleiyibiankuaisudiaoyong.html" title="PHP封装常用Javascript为JS类以便快速调用">PHP封装常用Javascript为JS类以便快速调用</a> (1)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/aspeaojie.html" title="ASP防注入新方式，希望对大家是有用的">ASP防注入新方式，希望对大家是有用的</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/phpeecketee.html" title="PHP和Socket简介">PHP和Socket简介</a> (0)</li></ul>
	标签Tags：<a href="http://www.5bay.cn/tag/ajax" title="ajax" rel="tag">ajax</a>, <a href="http://www.5bay.cn/tag/css" title="css" rel="tag">css</a>, <a href="http://www.5bay.cn/tag/flash" title="flash" rel="tag">flash</a>, <a href="http://www.5bay.cn/tag/javascript" title="javascript" rel="tag">javascript</a>, <a href="http://www.5bay.cn/tag/js" title="js" rel="tag">js</a>, <a href="http://www.5bay.cn/tag/server" title="server" rel="tag">server</a>, <a href="http://www.5bay.cn/tag/url" title="url" rel="tag">url</a>, <a href="http://www.5bay.cn/tag/web" title="web" rel="tag">web</a>, <a href="http://www.5bay.cn/tag/%E4%B8%AD%E5%9B%BD%E7%89%B9%E8%89%B2" title="中国特色" rel="tag">中国特色</a>, <a href="http://www.5bay.cn/tag/%E4%BA%BA" title="人" rel="tag">人</a>, <a href="http://www.5bay.cn/tag/%E5%9B%BE%E7%89%87" title="图片" rel="tag">图片</a>, <a href="http://www.5bay.cn/tag/%E6%96%B9%E6%B3%95" title="方法" rel="tag">方法</a>, <a href="http://www.5bay.cn/tag/%E6%9B%B4%E6%96%B0" title="更新" rel="tag">更新</a>, <a href="http://www.5bay.cn/category/server-building" title="服务器构建&amp;安全" rel="tag">服务器构建&amp;安全</a>, <a href="http://www.5bay.cn/tag/%E6%B5%8F%E8%A7%88%E5%99%A8" title="浏览器" rel="tag">浏览器</a>, <a href="http://www.5bay.cn/tag/%E7%BB%84%E4%BB%B6" title="组件" rel="tag">组件</a>, <a href="http://www.5bay.cn/tag/%E7%BD%91%E7%AB%99" title="网站" rel="tag">网站</a>, <a href="http://www.5bay.cn/tag/%E8%A1%A8" title="表" rel="tag">表</a>, <a href="http://www.5bay.cn/tag/%E8%A7%A3%E5%86%B3" title="解决" rel="tag">解决</a>, <a href="http://www.5bay.cn/tag/%E8%AE%BE%E8%AE%A1" title="设计" rel="tag">设计</a>, <a href="http://www.5bay.cn/tag/%E9%87%8D%E5%AE%9A%E5%90%91" title="重定向" rel="tag">重定向</a>, <a href="http://www.5bay.cn/tag/%E9%A1%B5%E9%9D%A2" title="页面" rel="tag">页面</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.5bay.cn/server-building/gaoxingnengwangzhanjianshezhinandushubiji.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>关于</title>
		<link>http://www.5bay.cn/about</link>
		<comments>http://www.5bay.cn/about#comments</comments>
		<pubDate>Sun, 16 May 2010 08:12:40 +0000</pubDate>
		<dc:creator>江小邪</dc:creator>
				<category><![CDATA[网站]]></category>
		<category><![CDATA[页面]]></category>

		<guid isPermaLink="false">?page_id=309</guid>
		<description><![CDATA[<a href="http://www.5bay.cn/about"><img align="left" hspace="5" width="150" height="150" src="http://www.5bay.cn/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>欢迎来到无风的港湾~ 相关博文2011年06月29日 -- Android在线开发工具 App Inventor (0)2010年07月26日 -- 最令PHP初学者头痛的十四个问题 (0)2010年07月26日 -- 使用Ajax时的十个常犯的错误 (0)2010年05月23日 -- nginx的rewrite规则 (1)2010年05月23日 -- 《高性能网站建设指南》读书笔记 (0)2008年11月12日 -- document.body.scrollTop为0 (0)2010年07月28日 -- ASP防注入新方式，希望对大家是有用的 (0)2010年07月28日 -- 如何删除删不掉的”PRN.asp:.jpg” (0)2010年07月26日 -- PHP和Socket简介 (0)2010年07月26日 -- PHP对文本数据库的基本操作方法 (0)2010年07月26日 -- require和include的异同 (0)2010年07月26日 -- AJAX应用程序开发七宗罪 (0)2010年07月26日 -- Ajax的工作原理 (1)2010年07月26日 -- AJAX的各种控件和类库 (0)2010年07月26日 -- AJAX初学:IE缓存页面的问题 (0) 标签Tags：网站, 页面]]></description>
			<content:encoded><![CDATA[<p>欢迎来到无风的港湾~</p>
<h2  class="related_post_title">相关博文</h2><ul class="related_post"><li>2011年06月29日 -- <a href="http://www.5bay.cn/android%e7%ac%94%e8%ae%b0/androidzaixiankaifagongjuappinventor.html" title="Android在线开发工具 App Inventor">Android在线开发工具 App Inventor</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eeeeeeee.html" title="最令PHP初学者头痛的十四个问题">最令PHP初学者头痛的十四个问题</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eejaxeeeeee.html" title="使用Ajax时的十个常犯的错误">使用Ajax时的十个常犯的错误</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/nginxderewriteguize.html" title="nginx的rewrite规则">nginx的rewrite规则</a> (1)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/gaoxingnengwangzhanjianshezhinandushubiji.html" title="《高性能网站建设指南》读书笔记">《高性能网站建设指南》读书笔记</a> (0)</li><li>2008年11月12日 -- <a href="http://www.5bay.cn/network-programming/javascript-ajax/documentbodyscrolltop%E4%B8%BA0.html" title="document.body.scrollTop为0">document.body.scrollTop为0</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/aspeaojie.html" title="ASP防注入新方式，希望对大家是有用的">ASP防注入新方式，希望对大家是有用的</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/eeprn-asp-jpg.html" title="如何删除删不掉的”PRN.asp:.jpg”">如何删除删不掉的”PRN.asp:.jpg”</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/phpeecketee.html" title="PHP和Socket简介">PHP和Socket简介</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/phpeeeeeeeehuai.html" title="PHP对文本数据库的基本操作方法">PHP对文本数据库的基本操作方法</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/requireeecludexi.html" title="require和include的异同">require和include的异同</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxeeaoe.html" title="AJAX应用程序开发七宗罪">AJAX应用程序开发七宗罪</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxeeee.html" title="Ajax的工作原理">Ajax的工作原理</a> (1)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajax.html" title="AJAX的各种控件和类库">AJAX的各种控件和类库</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxeeieeeeeting.html" title="AJAX初学:IE缓存页面的问题">AJAX初学:IE缓存页面的问题</a> (0)</li></ul>
	标签Tags：<a href="http://www.5bay.cn/tag/%E7%BD%91%E7%AB%99" title="网站" rel="tag">网站</a>, <a href="http://www.5bay.cn/tag/%E9%A1%B5%E9%9D%A2" title="页面" rel="tag">页面</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.5bay.cn/about/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>document.body.scrollTop为0</title>
		<link>http://www.5bay.cn/network-programming/javascript-ajax/documentbodyscrolltop%E4%B8%BA0.html</link>
		<comments>http://www.5bay.cn/network-programming/javascript-ajax/documentbodyscrolltop%E4%B8%BA0.html#comments</comments>
		<pubDate>Wed, 12 Nov 2008 07:51:45 +0000</pubDate>
		<dc:creator>江小邪</dc:creator>
				<category><![CDATA[JavaScript&Ajax]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[图片]]></category>
		<category><![CDATA[网站]]></category>
		<category><![CDATA[页面]]></category>

		<guid isPermaLink="false">?p=307</guid>
		<description><![CDATA[<a href="http://www.5bay.cn/network-programming/javascript-ajax/documentbodyscrolltop%E4%B8%BA0.html"><img align="left" hspace="5" width="150" height="150" src="http://www.5bay.cn/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>今天,在作一个网页特效的时候, 遇到了一个状况, 因為要作的功能是,卷动瀏览器的卷轴后, 广告图片会跟著滑动. 而这功能,在网路上已经有很多范例了, 所以特别挑了一个简短而且在IE跟Firefox上都可以用的来, 稍微修改一下,写个范例测试,没有问题就想说可以开始套了, 结果没想到将那个片段套在程式裡以后,却不会动&#8230; 所以只好重头debug了. debug到后来才发现, 原本的测试网页中使用的document.body.scrollTop是正常的, 但是套用到php的页面时, 不管怎麼卷动,document.body.scrollTop都是0.google一下后发现,原来是因為网页的DOCTYPE的问题, 在测试的网页中,没定义到文档DTD标准但是在网站中,是用 所以原本的document.body.scrollTop要改成document.documentElement.scrollTop就可以了.这才发现原以為ie跟firefox都正常的范例是有点问题的&#8230; 而问题点在於, 未使用DTD前,在ie跟firefox都可以使用下列的语法来设定位置document.getElementById(“adimg”).style.top = 200;但是在使用DTD之后, ie还是可以接受上面的语法, 但是在firefox却是不行的, 而firefox所能接受的如下(需要加上单位) document.getElementById(“adimg”).style.top = “200px”而这个在ie上是接受的, 所以只要改成如上的语法就可以在ie跟firefox都正常了.范例网页:原始 : http://ajunlee.googlepages.com/rolling.htm 使用DTD : http://ajunlee.googlepages.com/rolling_err.htm 使用DTD修正后 : http://ajunlee.googlepages.com/rolling_ok.htm 相关博文2010年07月26日 -- 使用Ajax时的十个常犯的错误 (0)2010年05月23日 -- nginx的rewrite规则 (1)2010年07月26日 -- ajax的缺点 (0)2010年08月17日 -- Nginx限速 (0)2010年07月26日 -- 最令PHP初学者头痛的十四个问题 (0)2010年07月26日 -- PHP对文本数据库的基本操作方法 (0)2010年07月22日 -- CSS [...]]]></description>
			<content:encoded><![CDATA[<p>今天,在作一个网页特效的时候, <br/>遇到了一个状况, <br/>因為要作的功能是,卷动瀏览器的卷轴后, <br/>广告图片会跟著滑动. <br/>而这功能,在网路上已经有很多范例了, <br/>所以特别挑了一个简短而且在IE跟Firefox上都可以用的来, <br/>稍微修改一下,写个范例测试,没有问题就想说可以开始套了, <br/>结果没想到将那个片段套在程式裡以后,却不会动&#8230; <br/>所以只好重头debug了. <br/>debug到后来才发现, <br/>原本的测试网页中使用的document.body.scrollTop是正常的, <br/>但是套用到php的页面时, <br/>不管怎麼卷动,document.body.scrollTop都是0.<span id="more-307"></span><br/><br/>google一下后发现,原来是因為网页的DOCTYPE的问题, <br/>在测试的网页中,没定义到文档DTD标准<br/><br/><br/>但是在网站中,是用 <coolcode><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></coolcode><br/><br/>所以原本的document.body.scrollTop要改成document.documentElement.scrollTop就可以了.<br/><br/>这才发现原以為ie跟firefox都正常的范例是有点问题的&#8230; <br/>而问题点在於, <br/>未使用DTD前,在ie跟firefox都可以使用下列的语法来设定位置<br/><br/>document.getElementById(“adimg”).style.top = 200;<br/><br/>但是在使用DTD之后, <br/>ie还是可以接受上面的语法, <br/>但是在firefox却是不行的, <br/>而firefox所能接受的如下(需要加上单位) <br/>document.getElementById(“adimg”).style.top = “200px”<br/><br/>而这个在ie上是接受的, <br/>所以只要改成如上的语法就可以在ie跟firefox都正常了.<br/><br/>范例网页:<br/><br/>原始 : http://ajunlee.googlepages.com/rolling.htm <br/>使用DTD : http://ajunlee.googlepages.com/rolling_err.htm <br/>使用DTD修正后 : http://ajunlee.googlepages.com/rolling_ok.htm<br/></p>
<h2  class="related_post_title">相关博文</h2><ul class="related_post"><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eejaxeeeeee.html" title="使用Ajax时的十个常犯的错误">使用Ajax时的十个常犯的错误</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/nginxderewriteguize.html" title="nginx的rewrite规则">nginx的rewrite规则</a> (1)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxxuan.html" title="ajax的缺点">ajax的缺点</a> (0)</li><li>2010年08月17日 -- <a href="http://www.5bay.cn/server-building/nginxxiansu.html" title="Nginx限速">Nginx限速</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eeeeeeee.html" title="最令PHP初学者头痛的十四个问题">最令PHP初学者头痛的十四个问题</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/phpeeeeeeeehuai.html" title="PHP对文本数据库的基本操作方法">PHP对文本数据库的基本操作方法</a> (0)</li><li>2010年07月22日 -- <a href="http://www.5bay.cn/me/csseeeeyao.html" title="CSS 中的太极拳口诀">CSS 中的太极拳口诀</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/network-programming/tupianlunhuanleiie7opffchromeceshitongguo.html" title="图片轮换类，IE7、OP、FF、Chrome测试通过">图片轮换类，IE7、OP、FF、Chrome测试通过</a> (2)</li><li>2011年06月29日 -- <a href="http://www.5bay.cn/android%e7%ac%94%e8%ae%b0/androidzaixiankaifagongjuappinventor.html" title="Android在线开发工具 App Inventor">Android在线开发工具 App Inventor</a> (0)</li><li>2011年06月29日 -- <a href="http://www.5bay.cn/android%e7%ac%94%e8%ae%b0/zaiandroidzhongchuangjianqidongjiemian.html" title="在Android中创建启动界面">在Android中创建启动界面</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/aoeempirebakeebshell.html" title="帝国备份王(Empirebak)拿webshell">帝国备份王(Empirebak)拿webshell</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxeeaoe.html" title="AJAX应用程序开发七宗罪">AJAX应用程序开发七宗罪</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/ajaxeeee.html" title="Ajax的工作原理">Ajax的工作原理</a> (1)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/xmlhttpe.html" title="XMLHTTP对象封装技术">XMLHTTP对象封装技术</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/gezhonglanqideuseragent.html" title="各种浏览器的userAgent">各种浏览器的userAgent</a> (0)</li></ul>
	标签Tags：<a href="http://www.5bay.cn/tag/code" title="code" rel="tag">code</a>, <a href="http://www.5bay.cn/tag/firefox" title="firefox" rel="tag">firefox</a>, <a href="http://www.5bay.cn/tag/google" title="google" rel="tag">google</a>, <a href="http://www.5bay.cn/tag/html" title="html" rel="tag">html</a>, <a href="http://www.5bay.cn/tag/ie" title="ie" rel="tag">ie</a>, <a href="http://www.5bay.cn/category/network-programming/javascript-ajax" title="JavaScript&amp;Ajax" rel="tag">JavaScript&amp;Ajax</a>, <a href="http://www.5bay.cn/tag/php" title="PHP" rel="tag">PHP</a>, <a href="http://www.5bay.cn/tag/%E5%9B%BE%E7%89%87" title="图片" rel="tag">图片</a>, <a href="http://www.5bay.cn/tag/%E7%BD%91%E7%AB%99" title="网站" rel="tag">网站</a>, <a href="http://www.5bay.cn/tag/%E9%A1%B5%E9%9D%A2" title="页面" rel="tag">页面</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.5bay.cn/network-programming/javascript-ajax/documentbodyscrolltop%E4%B8%BA0.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>一般网站最容易发生的故障的解决方法</title>
		<link>http://www.5bay.cn/server-building/%E4%B8%80%E8%88%AC%E7%BD%91%E7%AB%99%E6%9C%80%E5%AE%B9%E6%98%93%E5%8F%91%E7%94%9F%E7%9A%84%E6%95%85%E9%9A%9C%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95.html</link>
		<comments>http://www.5bay.cn/server-building/%E4%B8%80%E8%88%AC%E7%BD%91%E7%AB%99%E6%9C%80%E5%AE%B9%E6%98%93%E5%8F%91%E7%94%9F%E7%9A%84%E6%95%85%E9%9A%9C%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95.html#comments</comments>
		<pubDate>Tue, 08 May 2007 21:38:16 +0000</pubDate>
		<dc:creator>江小邪</dc:creator>
				<category><![CDATA[服务器构建&安全]]></category>
		<category><![CDATA[故障]]></category>
		<category><![CDATA[网站]]></category>
		<category><![CDATA[解决方法]]></category>

		<guid isPermaLink="false">?p=250</guid>
		<description><![CDATA[<a href="http://www.5bay.cn/server-building/%E4%B8%80%E8%88%AC%E7%BD%91%E7%AB%99%E6%9C%80%E5%AE%B9%E6%98%93%E5%8F%91%E7%94%9F%E7%9A%84%E6%95%85%E9%9A%9C%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95.html"><img align="left" hspace="5" width="150" height="150" src="http://www.5bay.cn/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>一般网站最容易发生的故障的解决方法 1.出现提示网页无法显示,500错误的时候，又没有详细的提示信息 可以进行下面的操作显示详细的提示信息：IE－工具－internet选项－高级－友好的http错误信息提示，将这选项前面不打勾，则可以看到详细的提示信息了 2.系统在安装的时候提示数据库连接错误 一是检查const文件的设置关于数据库的路径设置是否正确 二是检查服务器上面的数据库的路径和用户名、密码等是否正确 3.IIS不支持ASP解决办法： IIS的默认解析语言是否正确设定？将默认改为VBSCRIPT，进入IIS，右键单击默认Web站点，选择属性，在目录安全性选项卡的匿名访问和身份验证控制中，单击编辑，在身份验证方法属性页中，去掉匿名访问的选择试试. 4.FSO没有权限 FSO的权限问题，可以在后台测试是否能删除文件，解决FSO组件是否开启的方法如下： 首先在系统盘中查找scrrun.dll，如果存在这个文件，请跳到第三步，如果没有，请执行第二步。 在安装文件目录i386中找到scrrun.dl_，用winrar解压缩，得scrrun.dll，然后复制到（你的系统盘）C:&#92;windows&#92;system32&#92;目录中。 运行regsvr32 scrrun.dll即可。 如果想关闭FSO组件，请运行regsvr32/u scrrun.dll即可 关于服务器FSO权限设置的方法，给大家一个地址可以看看详细的操作：http://www.upsdn.net/html/2005-01/314.html 5.Microsoft JET Database Engine 错误 &#39;80040e09&#39; 不能更新。数据库或对象为只读 原因分析： 未打开数据库目录的读写权限 解决方法： （ 1 ）检查是否在 IIS 中对整个网站打开了 &#8220; 写入 &#8221; 权限，而不仅仅是数据库文件。 （ 2 ）检查是否在 WIN2000 的资源管理器中，将网站所在目录对 EveryOne 用户打开所有权限。具体方法是： 打开 &#8220; 我的电脑 &#8221;&#8212;- 找到网站所在文件夹 &#8212;- 在其上点右键 &#8212;- 选 &#8220; 属性 &#8221;&#8212;&#8211; [...]]]></description>
			<content:encoded><![CDATA[<p><span id="more-250"></span></p>
<p>一般网站最容易发生的故障的解决方法 </p>
</p>
<p><span style="font-size: xx-small; font-family: Verdana"><br />
<hr /></span><br />
<table border="2" cellspacing="0" cellpadding="2" width="90%" align="center">
<tbody>
<tr>
<td><span style="font-family: Verdana"><span style="font-size: xx-small"><span style="color: #ff0000"><span class="style2">1.出现提示网页无法显示,500错误的时候，又没有详细的提示信息 </span></p>
<p></span>可以进行下面的操作显示详细的提示信息：IE－<a href="http://www.5bay.cn/tag/%E5%B7%A5%E5%85%B7" class="st_tag internal_tag" rel="tag" title="标签 工具 下的日志">工具</a>－internet选项－高级－友好的http错误信息提示，将这选项前面不打勾，则可以看到详细的提示信息了 </p>
<p></span></span><span style="font-family: Verdana"><span style="font-size: xx-small"><span style="color: #ff0000"><span class="style2">2.系统在安装的时候提示数据库连接错误 </span></p>
<p></span>一是检查const文件的设置关于数据库的路径设置是否正确 </p>
<p>二是检查服务器上面的数据库的路径和用户名、密码等是否正确 </p>
<p></span></span><span style="font-family: Verdana"><span style="font-size: xx-small"><span style="color: #ff0000"><span class="style2">3.IIS不支持ASP解决办法： </span></p>
<p></span>IIS的默认解析语言是否正确设定？将默认改为VBSCRIPT，进入IIS，右键单击默认Web站点，选择属性，在目录安全性选项卡的匿名访问和身份验证控制中，单击编辑，在身份验证方法属性页中，去掉匿名访问的选择试试. </p>
<p></span></span><span style="font-family: Verdana"><span style="font-size: xx-small"><span style="color: #ff0000"><span class="style2">4.FSO没有权限 </span></p>
<p></span>FSO的权限问题，可以在后台测试是否能删除文件，解决FSO组件是否开启的方法如下： </p>
<p>首先在系统盘中查找<span class="style2"><span style="color: #ff0000">scrrun.dll</span></span>，如果存在这个文件，请跳到第三步，如果没有，请执行第二步。</p>
<p>在安装文件目录i386中找到<span class="style2"><span style="color: #ff0000">scrrun.dl_</span></span>，用winrar解压缩，得<span class="style2"><span style="color: #ff0000">scrrun.dll</span></span>，然后复制到（你的系统盘）C:&#92;windows&#92;system32&#92;目录中。 运行<span class="style2"><span style="color: #ff0000">regsvr32</span></span> <span class="style2"><span style="color: #ff0000">scrrun.dll</span></span>即可。 </p>
<p>如果想关闭FSO组件，请运行<span class="style7"><span style="color: #0000ff">regsvr32/u scrrun.dll</span></span>即可 </p>
<p>关于服务器FSO权限设置的方法，给大家一个地址可以看看详细的操作：</span></span><a href="http://www.upsdn.net/html/2005-01/314.html" target="_blank"><span style="font-size: xx-small; color: #ff0000; font-family: Verdana">http://www.upsdn.net/html/2005-01/314.html</span></a><span style="font-size: xx-small; font-family: Verdana"> </p>
<p></span><span style="font-family: Verdana"><span style="font-size: xx-small"><span style="color: #ff0000"><span class="style2">5.Microsoft JET Database Engine <a href="http://www.5bay.cn/tag/%E9%94%99%E8%AF%AF" class="st_tag internal_tag" rel="tag" title="标签 错误 下的日志">错误</a> &#39;80040e09&#39; 不能更新。数据库或对象为只读 </span></p>
<p></span>原因分析： <br />未打开数据库目录的读写权限 </p>
<p><a href="http://www.5bay.cn/tag/%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95" class="st_tag internal_tag" rel="tag" title="标签 解决方法 下的日志">解决方法</a>： </p>
<p>（ 1 ）检查是否在 IIS 中对整个网站打开了 &ldquo; 写入 &rdquo; 权限，而不仅仅是数据库文件。 <br />（ 2 ）检查是否在 WIN2000 的资源管理器中，将网站所在目录对 EveryOne 用户打开所有权限。具体方法是： <br />打开 &ldquo; 我的电脑 &rdquo;&#8212;- 找到网站所在文件夹 &#8212;- 在其上点右键 &#8212;- 选 &ldquo; 属性 &rdquo;&#8212;&#8211; 切换到 &ldquo; 安全性 &rdquo; 选项卡，在这里给 EveryOne 用户所有权限。 </p>
<p>注意： 如果你的系统是 XP ，请先点 &ldquo; 工具 &rdquo;&#8212;-&ldquo; 文件夹选项 &rdquo;&#8212;-&ldquo; 查看 &rdquo;&#8212;&#8211; 去掉 &ldquo; 使用简单文件共享 &rdquo; 前的勾，确定后，文件夹 &ldquo; 属性 &rdquo; 对话框中才会有 &ldquo; 安全性 &rdquo; 这一个选项卡。 </p>
<p></span></span><span style="font-family: Verdana"><span style="font-size: xx-small"><span style="color: #ff0000"><span class="style2">6.验证码不能显示 </span></p>
<p></span>原因分析： <br />造成该问题的原因是 Service Pack 2 为了提高系统的稳定性，默认状态下是屏蔽了对 XBM，也即是 x-bitmap 格式的图片的显示，而这些验证码恰恰是 XBM 格式的，所以显示不出来了。 </p>
<p>解决办法： <br />解决的方法其实也很简单，只需在系统注册表中添加键值 &quot;BlockXBM&quot;=dword:00000000 就可以了，具体操作如下： </p>
<p>1》打开系统注册表； </p>
<p>2》依次点开HKEY_LOCAL_MACHINE&#92;&#92;SOFTWARE&#92;&#92;Microsoft&#92;&#92;Internet Explorer&#92;&#92;Security； </p>
<p>3》在屏幕右边空白处点击鼠标右键，选择新建一个名为&ldquo;BlockXBM&rdquo;为的 DWORD 键，其值为默认的0。 </p>
<p>4》退出注册表编辑器。 </p>
<p>如果操作系统是2003系统则看是否开启了父路径 </p>
<p></span></span><span style="font-family: Verdana"><span style="font-size: xx-small"><span style="color: #ff0000"><span class="style2">7.windows 2003配置IIS支持.shtml </span></p>
<p></span>要使用 Shtml 的文件，则系统必须支持SSI，SSI必须是管理员通过Web 服务扩展启用的 <br />windows 2003安装好IIS之后默认是支持.shtml的，只要在&ldquo;WEB服务扩展&rdquo;允许&ldquo;在服务器前端的包含文件&rdquo;即可 (www.jz5u.com) </p>
<p></span></span><span style="font-family: Verdana"><span style="font-size: xx-small"><span style="color: #ff0000"><span class="style2">8.如何去掉&ldquo;处理 <a href="http://www.5bay.cn/tag/url" class="st_tag internal_tag" rel="tag" title="标签 url 下的日志">URL</a> 时服务器出错。请与系统管理员联系。&rdquo; </span></p>
<p></span>如果是本地服务器的话，请右键点IIS默认网站，选属性，在主目录里点配置，选调试。 选中向客户端发送详细的ASP错误消息。 然后再调试程序，此时就可以显示出正确的错误代码。</p>
<p>如果你是租用的空间的话，请和你的空间商联系</span></span></td>
</tr>
</tbody>
</table>
<h2  class="related_post_title">相关博文</h2><ul class="related_post"><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eeeeeeee.html" title="最令PHP初学者头痛的十四个问题">最令PHP初学者头痛的十四个问题</a> (0)</li><li>2011年06月29日 -- <a href="http://www.5bay.cn/android%e7%ac%94%e8%ae%b0/androidzaixiankaifagongjuappinventor.html" title="Android在线开发工具 App Inventor">Android在线开发工具 App Inventor</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/aspeaojie.html" title="ASP防注入新方式，希望对大家是有用的">ASP防注入新方式，希望对大家是有用的</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/eeprn-asp-jpg.html" title="如何删除删不掉的”PRN.asp:.jpg”">如何删除删不掉的”PRN.asp:.jpg”</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eejaxeeeeee.html" title="使用Ajax时的十个常犯的错误">使用Ajax时的十个常犯的错误</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eesoneeajaxeehuai.html" title="基于JSON的高级AJAX开发技术">基于JSON的高级AJAX开发技术</a> (0)</li><li>2010年07月22日 -- <a href="http://www.5bay.cn/me/csseeeeyao.html" title="CSS 中的太极拳口诀">CSS 中的太极拳口诀</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/rsyncxiangjie.html" title="Rsync详解">Rsync详解</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/nginxderewriteguize.html" title="nginx的rewrite规则">nginx的rewrite规则</a> (1)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/gaoxingnengwangzhanjianshezhinandushubiji.html" title="《高性能网站建设指南》读书笔记">《高性能网站建设指南》读书笔记</a> (0)</li><li>2010年05月16日 -- <a href="http://www.5bay.cn/about" title="关于">关于</a> (0)</li><li>2008年11月12日 -- <a href="http://www.5bay.cn/network-programming/javascript-ajax/documentbodyscrolltop%E4%B8%BA0.html" title="document.body.scrollTop为0">document.body.scrollTop为0</a> (0)</li><li>2008年10月17日 -- <a href="http://www.5bay.cn/game-development/%E7%BD%91%E7%BB%9C%E6%B8%B8%E6%88%8F%E7%9A%84%E5%AF%B9%E6%97%B6%E4%BB%A5%E5%8F%8A%E5%90%8C%E6%AD%A5%E9%97%AE%E9%A2%98.html" title="网络游戏的对时以及同步问题">网络游戏的对时以及同步问题</a> (0)</li><li>2008年10月17日 -- <a href="http://www.5bay.cn/game-development/%E8%B4%B4%E5%9B%BE%E7%9A%84%E5%90%88%E5%B9%B6.html" title="贴图的合并">贴图的合并</a> (0)</li><li>2008年10月17日 -- <a href="http://www.5bay.cn/game-development/%E6%B8%B8%E6%88%8F%E7%9A%84%E5%B8%A7%E7%8E%87%E6%8E%A7%E5%88%B6.html" title="游戏的帧率控制">游戏的帧率控制</a> (0)</li></ul>
	标签Tags：<a href="http://www.5bay.cn/tag/%E6%95%85%E9%9A%9C" title="故障" rel="tag">故障</a>, <a href="http://www.5bay.cn/category/server-building" title="服务器构建&amp;安全" rel="tag">服务器构建&amp;安全</a>, <a href="http://www.5bay.cn/tag/%E7%BD%91%E7%AB%99" title="网站" rel="tag">网站</a>, <a href="http://www.5bay.cn/tag/%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95" title="解决方法" rel="tag">解决方法</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.5bay.cn/server-building/%E4%B8%80%E8%88%AC%E7%BD%91%E7%AB%99%E6%9C%80%E5%AE%B9%E6%98%93%E5%8F%91%E7%94%9F%E7%9A%84%E6%95%85%E9%9A%9C%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>十大网站设计错误</title>
		<link>http://www.5bay.cn/website/%E5%8D%81%E5%A4%A7%E7%BD%91%E7%AB%99%E8%AE%BE%E8%AE%A1%E9%94%99%E8%AF%AF.html</link>
		<comments>http://www.5bay.cn/website/%E5%8D%81%E5%A4%A7%E7%BD%91%E7%AB%99%E8%AE%BE%E8%AE%A1%E9%94%99%E8%AF%AF.html#comments</comments>
		<pubDate>Wed, 21 Mar 2007 19:57:06 +0000</pubDate>
		<dc:creator>江小邪</dc:creator>
				<category><![CDATA[网站建设]]></category>
		<category><![CDATA[十大]]></category>
		<category><![CDATA[网站]]></category>
		<category><![CDATA[设计错误]]></category>

		<guid isPermaLink="false">?p=220</guid>
		<description><![CDATA[<a href="http://www.5bay.cn/website/%E5%8D%81%E5%A4%A7%E7%BD%91%E7%AB%99%E8%AE%BE%E8%AE%A1%E9%94%99%E8%AF%AF.html"><img align="left" hspace="5" width="150" height="150" src="http://www.5bay.cn/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>　　前言：这是Jakob Nielsen写的另一篇文章，主要讨论的是广义上的网站面临的错误设计问题，是他的另一篇《博客可用性：十大错误设计》的姊妹篇，当然，这些问题对于博客站点来说也是同样适用的。十大网站设计错误作者：Jakob Nielsen　翻译：William Long 　　自1996年以来，我曾经指出了很多网站中的设计错误，参见底部我的系列文章列表，本文将重点介绍的是，这些问题当中十个最为严重的网站设计错误。　　1、搜索引擎不友好　　搜索引擎对于难以处理和识别的打字稿、复数、连字号等等各种各样的问题，搜索的准确度会降低。显然，如果搜索引擎刻意去迎合这种错误使用的话，会伤害到所有的搜索使用者。　　一个相关的问题是，搜索引擎区分结果是依靠文档的重要性，而只是按照内容关联次数简单地进行结果区分。　　当找不到信息的时候，搜索是用户的救生索。即使有高级搜索功能，建议还是使用简单搜索，搜索形式应该是一个简单的录入框，就像我们常见的那一种。　　2、使用PDF文件做为在线阅读　　用户讨厌在浏览的时候跳出PDF文件，因为那会打断用户的浏览过程，因为普通的浏览器按钮无法工作，因此即使如打印或保存文档这样简单的事情也会变得复杂。由于其版面设计是基于纸张优化的，因此文字的字体很少会和用户的流量其窗口相适应。没有了平滑的滚动浏览，有的只是超小号的字体。　　更糟糕的是，PDF文件内容是分块的，很难浏览。　　PDF是对于印刷及发行手册等和其他需要打印的大文件来讲是很合适的，使用它的目的只是为了保留它的信息使其网页上浏览成为现实。　　3、未改变已访问链接的颜色　　一个好的浏览历史能够帮助你了解目前的位置，因为那是你浏览的起点。知道过去和现在的位置反过来使得决定下一步去哪里变得容易了。链接是这些浏览过程中的一个关键因素。用户可以不去访问那些没有用处的地址，相反，他们会访问那些对他们有帮助的链接地址。　　最重要的是，他们知道哪些网页已经访问过了，这样就不必一次又一次访问同一个历史页面。　　但是这些好处只是基于一个重要的假设：由于网站提供不同的颜色显示，用户可以分辨出哪些链接访问过，哪些链接没有访问过。如果访问一个链接后颜色没有发生变化，那么用户很可能会感到迷惑并无意中反复访问同一历史页面。　　4、文字未排版　　将所有文字堆积在一起是一种可怕的体验，浏览这样的文字将是痛苦的经历。　　在线写作，并不是为了打印，需要让用户能很好地阅读，下面是几个改进的要点：　　使用子标题　　使用列表　　突出关键字　　使用小段落　　反金字塔结构　　简单的写作风格　　5、固定字体大小　　CSS样式不幸让网站有权禁止浏览器的“改变字体大小”的功能，并使得网站有一个固定的字体大小。对于大多数人的年龄超过40岁的人来说，这个固定地文字大小实在太小了。　　尊重用户的喜好，让他们按照自己的需要修改文字的大小，同时，明确字体大小是相对的，而非绝对显示像素的数量多少。　　6. 网页标题搜索引擎不友好　　搜索是用户发现网站的最重要途径，搜索用户找到一个独立网站的最重要的方法。网页的标题是你吸引新用户或老用户从搜索列表中定位到你网站的主要工具。　　网页的标题文字是在&#60;title&#62;标记之间的文字，并通常作为搜索引擎结果列表中的链接文字。搜索引擎一般只显示标题开头66个字，是真正的缩略内容。　　网页标题也用户将一个网址加为书签时的默认文字，对于你的主页，应该以公司名称开头，接着是网站的简介，不要用“The”或“Welcome to”做为开头文字。　　对于其他网页来说，标题应该是将具体内容的概要文字说明，由于网页标题是浏览器窗口的标题，也是用户任务条上的标签，多个窗口下将会显示每一页的标题，因此，如果你所有的网页标题字都相同的话，对于开了多个窗口的用户来说，你网站的可用性将严重降低。　　7、所有的东西看起来都像广告　　有选择地吸引注意力是相当有力的途径。用户已经学会了对挡在眼前的那些目的性很强的广告采取不予理睬的态度。这也就是为何点击率每年以半数速度下降，网络广告根本不起作用的原因。　　不幸的是，这也使得用户忽视了那些看起来很像广告的设计样式。毕竟，当你不理会某些东西时，就不会仔细地研究它并搞清楚它是什么。　　因此，最好避免任何类似广告的设计。这一指导方针所传达的含义随着新的广告形式出现而变化。目前遵循以下规则：　　无视横幅：着用户将不会把注意力放在任何看似横幅广告的东西，这取决于它的形状及位置。　　避免使用动画：用户会忽视那些闪烁的文字或其它侵略性很强的动画。　　净化弹出窗口：用户在弹出窗口完全打开前就会将其关闭，有时是带着极端厌恶的情绪。　　8、违反设计惯例　　一致性是最重要的可用性原则之一：当事物遵循相同的原则运作时，用户不用担心发生意外，因为他们根据先前的经验已经很清楚将会发生什么事情。就像你每次在牛顿的头顶上放下一个苹果，它一定会砸中他的脑袋一样。　　用户的期望实现得越多，他们就越感觉是自己在控制整个系统，并且更加喜欢它。相反地，用户则会感到可靠程度不够。想想，当我释放苹果时，它变成了西红柿并朝着天空蹦出一英里，那多荒诞！　　9、打开新的浏览器窗口　　打开新的浏览窗口就像一个吸尘器推销员在上门推销时，直接将烟灰缸里的杂物倾倒在消费者家中的地毯上。拜托！不要用任何窗口污染我的屏幕（尤其在当前操作系统低劣的窗口管理技术下），如果我需要一个新窗口，我会自己打开的。　　设计者打开新窗口的本意是要让用户留在他的站点上。但是却忽略了控制用户的机器所带来的负面效应，这种策略恰恰弄巧成拙，因为当用户想通过“后退”按钮返回先前的站点时，已经做不到了。用户通常注意不到新窗口已经被打开，尤其当他们的显示器很小，而窗口又正好是最大化时。因此，当用户想要返回原来的站点时，面对的却只是一个不可用的灰色“后退”按钮。　　点击链接的标准结果是目标页面在当前的浏览窗口中加载，取代现有页面。出现其它的任何情况都违背了用户的期望，令他们感到对网络的控制不稳定。用户痛恨那些突然弹出来的窗口，当用户想要在新窗口打开一页的时候，会自己使用“在新窗口打开”功能，因此不要用一些代码来干扰了用户浏览器的操作。　　10、不回答用户的提问　　用户是因为某个目的才访问你的网站。他们方式可能是想购买你的产品或者其他，但最终却失败了，因为网站没有提供用户寻找的资料信息。　　事实上问题远没有这么简单，如果你不告诉用户具体情况，用户就会以为你的产品或服务不能满足他们的需求，因此用户就不会购买你的产品，或者有一些信息，深深隐藏在各种文档之间，用户没有时间阅读所有这些隐藏的信息，因此也就认为它们不存在。　　不回答用户提问的最坏的例子是拒绝提供产品和服务的价格清单，没有任何B2C的商务网站会犯这种错误，但是这在B2B中却普遍存在，大多数“企业解决方案”的提出，让你不能告诉用户他们适合100个站点、还是10万个站点人。价格是最主要的作用是便于想用户提供相应的产品，避免提供一个不成熟的产品给用户。　　即使是B2C网站有时页会忘记在所有地方提供相关产品价格清单，例如在目录页或者搜索结果页，要知道，在这两种情况下，价格是关键，它让用户能够区分不同的产品并找到最合适的目标。　　其他各年的十大错误列表　　2005年的十大网站设计问题：　　一．易读性的问题－让使用者决定浏览时字体大小。　　二．没有标准的超连结表示　　三．Flash的使用　　四．网页无法呈现网站内容　　五．搜寻的重要　　六．浏览器的差异　　七．讨厌的框架　　八．没有链接相关资讯或是公司资讯　　九．固定的页面宽度　　十．不适当的图片放大连结　　2003年的十大网站设计问题：　　一．主题不明确　　二．更改以存档的链接地址　　三．内容没有注明日期　　四．缩略图看不清细节　　五．图片的ALT文字过于冗长　　六．不给用户自定义选择　　七．过长的商品列表选择　　八．商品仅按照商标排序　　九．过于限制用户录入的信息　　十．页面包含指向自身页面的链接　　1999年的十大网站设计问题：　　一．破坏或减慢“后退”按钮　　二．打开新的浏览窗口　　三．使用不规范的GUI（图形用户界面）部件　　四．缺少自我介绍　　五．缺少存档　　六．移动页面至新的URL地址　　七．标题和内容不匹配　　八．对最新的网络热门紧追不舍　　九．服务器访问速度过慢　　十．所有的东西看起来都像广告　　原文地址：http://www.useit.com/alertbox/9605.html 相关博文2011年06月29日 -- Android在线开发工具 App Inventor (0)2010年07月28日 -- ASP防注入新方式，希望对大家是有用的 (0)2010年07月28日 -- 如何删除删不掉的”PRN.asp:.jpg” (0)2010年07月26日 -- 最令PHP初学者头痛的十四个问题 (0)2010年07月26日 -- 使用Ajax时的十个常犯的错误 (0)2010年07月26日 -- 基于JSON的高级AJAX开发技术 (0)2010年07月22日 -- CSS 中的太极拳口诀 (0)2010年05月23日 -- Rsync详解 (0)2010年05月23日 -- nginx的rewrite规则 (1)2010年05月23日 -- 《高性能网站建设指南》读书笔记 (0)2010年05月16日 -- 关于 (0)2008年11月12日 -- document.body.scrollTop为0 (0)2007年05月8日 -- 一般网站最容易发生的故障的解决方法 (0)2007年03月17日 -- 网站服务器维护完毕~ (0)2007年01月18日 -- 增加网站反向链接的10种方法 [...]]]></description>
			<content:encoded><![CDATA[<p>　　前言：这是Jakob Nielsen写的另一篇文章，主要讨论的是广义上的网站面临的错误设计问题，是他的另一篇《博客可用性：十大错误设计》的姊妹篇，当然，这些问题对于博客站点来说也是同样适用的。<br/><br/>十大网站设计错误<br/><br/>作者：Jakob Nielsen　翻译：William Long <span id="more-220"></span><br/><br/>　　自1996年以来，我曾经指出了很多网站中的设计错误，参见底部我的系列文章列表，本文将重点介绍的是，这些问题当中十个最为严重的网站设计错误。<br/><br/>　　1、搜索引擎不友好<br/><br/>　　搜索引擎对于难以处理和识别的打字稿、复数、连字号等等各种各样的问题，搜索的准确度会降低。显然，如果搜索引擎刻意去迎合这种错误使用的话，会伤害到所有的搜索使用者。<br/><br/>　　一个相关的问题是，搜索引擎区分结果是依靠文档的重要性，而只是按照内容关联次数简单地进行结果区分。<br/><br/>　　当找不到信息的时候，搜索是用户的救生索。即使有高级搜索功能，建议还是使用简单搜索，搜索形式应该是一个简单的录入框，就像我们常见的那一种。<br/><br/>　　2、使用PDF文件做为在线阅读<br/><br/>　　用户讨厌在浏览的时候跳出PDF文件，因为那会打断用户的浏览过程，因为普通的浏览器按钮无法工作，因此即使如打印或保存文档这样简单的事情也会变得复杂。由于其版面设计是基于纸张优化的，因此文字的字体很少会和用户的流量其窗口相适应。没有了平滑的滚动浏览，有的只是超小号的字体。<br/><br/>　　更糟糕的是，PDF文件内容是分块的，很难浏览。<br/><br/>　　PDF是对于印刷及发行手册等和其他需要打印的大文件来讲是很合适的，使用它的目的只是为了保留它的信息使其网页上浏览成为现实。<br/><br/>　　3、未改变已访问链接的颜色<br/><br/>　　一个好的浏览历史能够帮助你了解目前的位置，因为那是你浏览的起点。知道过去和现在的位置反过来使得决定下一步去哪里变得容易了。链接是这些浏览过程中的一个关键因素。用户可以不去访问那些没有用处的地址，相反，他们会访问那些对他们有帮助的链接地址。<br/><br/>　　最重要的是，他们知道哪些网页已经访问过了，这样就不必一次又一次访问同一个历史页面。<br/><br/>　　但是这些好处只是基于一个重要的假设：由于网站提供不同的颜色显示，用户可以分辨出哪些链接访问过，哪些链接没有访问过。如果访问一个链接后颜色没有发生变化，那么用户很可能会感到迷惑并无意中反复访问同一历史页面。<br/><br/>　　4、文字未排版<br/><br/>　　将所有文字堆积在一起是一种可怕的体验，浏览这样的文字将是痛苦的经历。<br/><br/>　　在线写作，并不是为了打印，需要让用户能很好地阅读，下面是几个改进的要点：<br/><br/>　　使用子标题<br/><br/>　　使用列表<br/><br/>　　突出关键字<br/><br/>　　使用小段落<br/><br/>　　反金字塔结构<br/><br/>　　简单的写作风格<br/><br/>　　5、固定字体大小<br/><br/>　　CSS样式不幸让网站有权禁止浏览器的“改变字体大小”的功能，并使得网站有一个固定的字体大小。对于大多数人的年龄超过40岁的人来说，这个固定地文字大小实在太小了。<br/><br/>　　尊重用户的喜好，让他们按照自己的需要修改文字的大小，同时，明确字体大小是相对的，而非绝对显示像素的数量多少。<br/><br/>　　6. 网页标题搜索引擎不友好<br/><br/>　　搜索是用户发现网站的最重要途径，搜索用户找到一个独立网站的最重要的方法。网页的标题是你吸引新用户或老用户从搜索列表中定位到你网站的主要工具。<br/><br/>　　网页的标题文字是在&lt;title&gt;标记之间的文字，并通常作为搜索引擎结果列表中的链接文字。搜索引擎一般只显示标题开头66个字，是真正的缩略内容。<br/><br/>　　网页标题也用户将一个网址加为书签时的默认文字，对于你的主页，应该以公司名称开头，接着是网站的简介，不要用“The”或“Welcome to”做为开头文字。<br/><br/>　　对于其他网页来说，标题应该是将具体内容的概要文字说明，由于网页标题是浏览器窗口的标题，也是用户任务条上的标签，多个窗口下将会显示每一页的标题，因此，如果你所有的网页标题字都相同的话，对于开了多个窗口的用户来说，你网站的可用性将严重降低。<br/><br/>　　7、所有的东西看起来都像广告<br/><br/>　　有选择地吸引注意力是相当有力的途径。用户已经学会了对挡在眼前的那些目的性很强的广告采取不予理睬的态度。这也就是为何点击率每年以半数速度下降，网络广告根本不起作用的原因。<br/><br/>　　不幸的是，这也使得用户忽视了那些看起来很像广告的设计样式。毕竟，当你不理会某些东西时，就不会仔细地研究它并搞清楚它是什么。<br/><br/>　　因此，最好避免任何类似广告的设计。这一指导方针所传达的含义随着新的广告形式出现而变化。目前遵循以下规则：<br/><br/>　　无视横幅：着用户将不会把注意力放在任何看似横幅广告的东西，这取决于它的形状及位置。<br/><br/>　　避免使用动画：用户会忽视那些闪烁的文字或其它侵略性很强的动画。<br/><br/>　　净化弹出窗口：用户在弹出窗口完全打开前就会将其关闭，有时是带着极端厌恶的情绪。<br/><br/>　　8、违反设计惯例<br/><br/>　　一致性是最重要的可用性原则之一：当事物遵循相同的原则运作时，用户不用担心发生意外，因为他们根据先前的经验已经很清楚将会发生什么事情。就像你每次在牛顿的头顶上放下一个苹果，它一定会砸中他的脑袋一样。<br/><br/>　　用户的期望实现得越多，他们就越感觉是自己在控制整个系统，并且更加喜欢它。相反地，用户则会感到可靠程度不够。想想，当我释放苹果时，它变成了西红柿并朝着天空蹦出一英里，那多荒诞！<br/><br/>　　9、打开新的浏览器窗口<br/><br/>　　打开新的浏览窗口就像一个吸尘器推销员在上门推销时，直接将烟灰缸里的杂物倾倒在消费者家中的地毯上。拜托！不要用任何窗口污染我的屏幕（尤其在当前操作系统低劣的窗口管理技术下），如果我需要一个新窗口，我会自己打开的。<br/><br/>　　设计者打开新窗口的本意是要让用户留在他的站点上。但是却忽略了控制用户的机器所带来的负面效应，这种策略恰恰弄巧成拙，因为当用户想通过“后退”按钮返回先前的站点时，已经做不到了。用户通常注意不到新窗口已经被打开，尤其当他们的显示器很小，而窗口又正好是最大化时。因此，当用户想要返回原来的站点时，面对的却只是一个不可用的灰色“后退”按钮。<br/><br/>　　点击链接的标准结果是目标页面在当前的浏览窗口中加载，取代现有页面。出现其它的任何情况都违背了用户的期望，令他们感到对网络的控制不稳定。用户痛恨那些突然弹出来的窗口，当用户想要在新窗口打开一页的时候，会自己使用“在新窗口打开”功能，因此不要用一些代码来干扰了用户浏览器的操作。<br/><br/>　　10、不回答用户的提问<br/><br/>　　用户是因为某个目的才访问你的网站。他们方式可能是想购买你的产品或者其他，但最终却失败了，因为网站没有提供用户寻找的资料信息。<br/><br/>　　事实上问题远没有这么简单，如果你不告诉用户具体情况，用户就会以为你的产品或服务不能满足他们的需求，因此用户就不会购买你的产品，或者有一些信息，深深隐藏在各种文档之间，用户没有时间阅读所有这些隐藏的信息，因此也就认为它们不存在。<br/><br/>　　不回答用户提问的最坏的例子是拒绝提供产品和服务的价格清单，没有任何B2C的商务网站会犯这种错误，但是这在B2B中却普遍存在，大多数“企业解决方案”的提出，让你不能告诉用户他们适合100个站点、还是10万个站点人。价格是最主要的作用是便于想用户提供相应的产品，避免提供一个不成熟的产品给用户。<br/><br/>　　即使是B2C网站有时页会忘记在所有地方提供相关产品价格清单，例如在目录页或者搜索结果页，要知道，在这两种情况下，价格是关键，它让用户能够区分不同的产品并找到最合适的目标。<br/><br/>　　其他各年的十大错误列表<br/><br/>　　2005年的十大网站设计问题：<br/><br/>　　一．易读性的问题－让使用者决定浏览时字体大小。<br/><br/>　　二．没有标准的超连结表示<br/><br/>　　三．Flash的使用<br/><br/>　　四．网页无法呈现网站内容<br/><br/>　　五．搜寻的重要<br/><br/>　　六．浏览器的差异<br/><br/>　　七．讨厌的框架<br/><br/>　　八．没有链接相关资讯或是公司资讯<br/><br/>　　九．固定的页面宽度<br/><br/>　　十．不适当的图片放大连结<br/><br/>　　2003年的十大网站设计问题：<br/><br/>　　一．主题不明确<br/><br/>　　二．更改以存档的链接地址<br/><br/>　　三．内容没有注明日期<br/><br/>　　四．缩略图看不清细节<br/><br/>　　五．图片的ALT文字过于冗长<br/><br/>　　六．不给用户自定义选择<br/><br/>　　七．过长的商品列表选择<br/><br/>　　八．商品仅按照商标排序<br/><br/>　　九．过于限制用户录入的信息<br/><br/>　　十．页面包含指向自身页面的链接<br/><br/>　　1999年的十大网站设计问题：<br/><br/>　　一．破坏或减慢“后退”按钮<br/><br/>　　二．打开新的浏览窗口<br/><br/>　　三．使用不规范的GUI（图形用户界面）部件<br/><br/>　　四．缺少自我介绍<br/><br/>　　五．缺少存档<br/><br/>　　六．移动页面至新的URL地址<br/><br/>　　七．标题和内容不匹配<br/><br/>　　八．对最新的网络热门紧追不舍<br/><br/>　　九．服务器访问速度过慢<br/><br/>　　十．所有的东西看起来都像广告<br/><br/>　　原文地址：http://www.useit.com/alertbox/9605.html<br/><br/></p>
<h2  class="related_post_title">相关博文</h2><ul class="related_post"><li>2011年06月29日 -- <a href="http://www.5bay.cn/android%e7%ac%94%e8%ae%b0/androidzaixiankaifagongjuappinventor.html" title="Android在线开发工具 App Inventor">Android在线开发工具 App Inventor</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/aspeaojie.html" title="ASP防注入新方式，希望对大家是有用的">ASP防注入新方式，希望对大家是有用的</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/eeprn-asp-jpg.html" title="如何删除删不掉的”PRN.asp:.jpg”">如何删除删不掉的”PRN.asp:.jpg”</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eeeeeeee.html" title="最令PHP初学者头痛的十四个问题">最令PHP初学者头痛的十四个问题</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eejaxeeeeee.html" title="使用Ajax时的十个常犯的错误">使用Ajax时的十个常犯的错误</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eesoneeajaxeehuai.html" title="基于JSON的高级AJAX开发技术">基于JSON的高级AJAX开发技术</a> (0)</li><li>2010年07月22日 -- <a href="http://www.5bay.cn/me/csseeeeyao.html" title="CSS 中的太极拳口诀">CSS 中的太极拳口诀</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/rsyncxiangjie.html" title="Rsync详解">Rsync详解</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/nginxderewriteguize.html" title="nginx的rewrite规则">nginx的rewrite规则</a> (1)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/gaoxingnengwangzhanjianshezhinandushubiji.html" title="《高性能网站建设指南》读书笔记">《高性能网站建设指南》读书笔记</a> (0)</li><li>2010年05月16日 -- <a href="http://www.5bay.cn/about" title="关于">关于</a> (0)</li><li>2008年11月12日 -- <a href="http://www.5bay.cn/network-programming/javascript-ajax/documentbodyscrolltop%E4%B8%BA0.html" title="document.body.scrollTop为0">document.body.scrollTop为0</a> (0)</li><li>2007年05月8日 -- <a href="http://www.5bay.cn/server-building/%E4%B8%80%E8%88%AC%E7%BD%91%E7%AB%99%E6%9C%80%E5%AE%B9%E6%98%93%E5%8F%91%E7%94%9F%E7%9A%84%E6%95%85%E9%9A%9C%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95.html" title="一般网站最容易发生的故障的解决方法">一般网站最容易发生的故障的解决方法</a> (0)</li><li>2007年03月17日 -- <a href="http://www.5bay.cn/me/%e7%bd%91%e7%ab%99%e6%9c%8d%e5%8a%a1%e5%99%a8%e7%bb%b4%e6%8a%a4%e5%ae%8c%e6%af%95.html" title="网站服务器维护完毕~">网站服务器维护完毕~</a> (0)</li><li>2007年01月18日 -- <a href="http://www.5bay.cn/server-building/%E5%A2%9E%E5%8A%A0%E7%BD%91%E7%AB%99%E5%8F%8D%E5%90%91%E9%93%BE%E6%8E%A5%E7%9A%8410%E7%A7%8D%E6%96%B9%E6%B3%95.html" title="增加网站反向链接的10种方法">增加网站反向链接的10种方法</a> (0)</li></ul>
	标签Tags：<a href="http://www.5bay.cn/tag/%E5%8D%81%E5%A4%A7" title="十大" rel="tag">十大</a>, <a href="http://www.5bay.cn/tag/%E7%BD%91%E7%AB%99" title="网站" rel="tag">网站</a>, <a href="http://www.5bay.cn/category/website" title="网站建设" rel="tag">网站建设</a>, <a href="http://www.5bay.cn/tag/%E8%AE%BE%E8%AE%A1%E9%94%99%E8%AF%AF" title="设计错误" rel="tag">设计错误</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.5bay.cn/website/%E5%8D%81%E5%A4%A7%E7%BD%91%E7%AB%99%E8%AE%BE%E8%AE%A1%E9%94%99%E8%AF%AF.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>网站服务器维护完毕~</title>
		<link>http://www.5bay.cn/me/%e7%bd%91%e7%ab%99%e6%9c%8d%e5%8a%a1%e5%99%a8%e7%bb%b4%e6%8a%a4%e5%ae%8c%e6%af%95.html</link>
		<comments>http://www.5bay.cn/me/%e7%bd%91%e7%ab%99%e6%9c%8d%e5%8a%a1%e5%99%a8%e7%bb%b4%e6%8a%a4%e5%ae%8c%e6%af%95.html#comments</comments>
		<pubDate>Sat, 17 Mar 2007 09:18:50 +0000</pubDate>
		<dc:creator>江小邪</dc:creator>
				<category><![CDATA[邪人邪语]]></category>
		<category><![CDATA[感谢]]></category>
		<category><![CDATA[服务器维护]]></category>
		<category><![CDATA[网站]]></category>

		<guid isPermaLink="false">?p=209</guid>
		<description><![CDATA[<a href="http://www.5bay.cn/me/%e7%bd%91%e7%ab%99%e6%9c%8d%e5%8a%a1%e5%99%a8%e7%bb%b4%e6%8a%a4%e5%ae%8c%e6%af%95.html"><img align="left" hspace="5" width="150" height="150" src="http://www.5bay.cn/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>&#160; 我也基本是在毫不知情的情况下，知道了服务器要维护，呵呵~ &#160; 经过几天的努力，服务器终于恢复正常了。感谢胡大哥的热心帮忙~ &#160; 同时感谢他为俺的站提供相关空间~ 相关博文2011年06月29日 -- Android在线开发工具 App Inventor (0)2010年07月28日 -- ASP防注入新方式，希望对大家是有用的 (0)2010年07月28日 -- 如何删除删不掉的”PRN.asp:.jpg” (0)2010年07月28日 -- 无需输入密码登陆3389 (0)2010年07月26日 -- 最令PHP初学者头痛的十四个问题 (0)2010年07月26日 -- 使用Ajax时的十个常犯的错误 (0)2010年07月26日 -- 基于JSON的高级AJAX开发技术 (0)2010年07月22日 -- CSS 中的太极拳口诀 (0)2010年05月23日 -- Rsync详解 (0)2010年05月23日 -- nginx的rewrite规则 (1)2010年05月23日 -- 《高性能网站建设指南》读书笔记 (0)2010年05月16日 -- 关于 (0)2008年11月12日 -- document.body.scrollTop为0 (0)2008年10月17日 -- 不那么随机的随机数列 (0)2007年05月8日 -- 一般网站最容易发生的故障的解决方法 (0) [...]]]></description>
			<content:encoded><![CDATA[<p> &nbsp; 我也基本是在毫不知情的情况下，知道了服务器要维护，呵呵~<br/><br/> &nbsp; 经过几天的努力，服务器终于恢复正常了。<a href="http://www.5bay.cn/tag/%E6%84%9F%E8%B0%A2" class="st_tag internal_tag" rel="tag" title="标签 感谢 下的日志">感谢</a><a href="http://www.libing.net.cn" target="_blank">胡大哥</a>的热心帮忙~<br/><br/> &nbsp; 同时感谢他为俺的站提供相关空间~</p>
<h2  class="related_post_title">相关博文</h2><ul class="related_post"><li>2011年06月29日 -- <a href="http://www.5bay.cn/android%e7%ac%94%e8%ae%b0/androidzaixiankaifagongjuappinventor.html" title="Android在线开发工具 App Inventor">Android在线开发工具 App Inventor</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/aspeaojie.html" title="ASP防注入新方式，希望对大家是有用的">ASP防注入新方式，希望对大家是有用的</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/eeprn-asp-jpg.html" title="如何删除删不掉的”PRN.asp:.jpg”">如何删除删不掉的”PRN.asp:.jpg”</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/eeeeee389.html" title="无需输入密码登陆3389">无需输入密码登陆3389</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eeeeeeee.html" title="最令PHP初学者头痛的十四个问题">最令PHP初学者头痛的十四个问题</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eejaxeeeeee.html" title="使用Ajax时的十个常犯的错误">使用Ajax时的十个常犯的错误</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eesoneeajaxeehuai.html" title="基于JSON的高级AJAX开发技术">基于JSON的高级AJAX开发技术</a> (0)</li><li>2010年07月22日 -- <a href="http://www.5bay.cn/me/csseeeeyao.html" title="CSS 中的太极拳口诀">CSS 中的太极拳口诀</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/rsyncxiangjie.html" title="Rsync详解">Rsync详解</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/nginxderewriteguize.html" title="nginx的rewrite规则">nginx的rewrite规则</a> (1)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/gaoxingnengwangzhanjianshezhinandushubiji.html" title="《高性能网站建设指南》读书笔记">《高性能网站建设指南》读书笔记</a> (0)</li><li>2010年05月16日 -- <a href="http://www.5bay.cn/about" title="关于">关于</a> (0)</li><li>2008年11月12日 -- <a href="http://www.5bay.cn/network-programming/javascript-ajax/documentbodyscrolltop%E4%B8%BA0.html" title="document.body.scrollTop为0">document.body.scrollTop为0</a> (0)</li><li>2008年10月17日 -- <a href="http://www.5bay.cn/game-development/%E4%B8%8D%E9%82%A3%E4%B9%88%E9%9A%8F%E6%9C%BA%E7%9A%84%E9%9A%8F%E6%9C%BA%E6%95%B0%E5%88%97.html" title="不那么随机的随机数列">不那么随机的随机数列</a> (0)</li><li>2007年05月8日 -- <a href="http://www.5bay.cn/server-building/%E4%B8%80%E8%88%AC%E7%BD%91%E7%AB%99%E6%9C%80%E5%AE%B9%E6%98%93%E5%8F%91%E7%94%9F%E7%9A%84%E6%95%85%E9%9A%9C%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95.html" title="一般网站最容易发生的故障的解决方法">一般网站最容易发生的故障的解决方法</a> (0)</li></ul>
	标签Tags：<a href="http://www.5bay.cn/tag/%E6%84%9F%E8%B0%A2" title="感谢" rel="tag">感谢</a>, <a href="http://www.5bay.cn/tag/%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%BB%B4%E6%8A%A4" title="服务器维护" rel="tag">服务器维护</a>, <a href="http://www.5bay.cn/tag/%E7%BD%91%E7%AB%99" title="网站" rel="tag">网站</a>, <a href="http://www.5bay.cn/category/me" title="邪人邪语" rel="tag">邪人邪语</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.5bay.cn/me/%e7%bd%91%e7%ab%99%e6%9c%8d%e5%8a%a1%e5%99%a8%e7%bb%b4%e6%8a%a4%e5%ae%8c%e6%af%95.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>增加网站反向链接的10种方法</title>
		<link>http://www.5bay.cn/server-building/%E5%A2%9E%E5%8A%A0%E7%BD%91%E7%AB%99%E5%8F%8D%E5%90%91%E9%93%BE%E6%8E%A5%E7%9A%8410%E7%A7%8D%E6%96%B9%E6%B3%95.html</link>
		<comments>http://www.5bay.cn/server-building/%E5%A2%9E%E5%8A%A0%E7%BD%91%E7%AB%99%E5%8F%8D%E5%90%91%E9%93%BE%E6%8E%A5%E7%9A%8410%E7%A7%8D%E6%96%B9%E6%B3%95.html#comments</comments>
		<pubDate>Thu, 18 Jan 2007 21:04:36 +0000</pubDate>
		<dc:creator>江小邪</dc:creator>
				<category><![CDATA[服务器构建&安全]]></category>
		<category><![CDATA[反向链接]]></category>
		<category><![CDATA[方法]]></category>
		<category><![CDATA[网站]]></category>

		<guid isPermaLink="false">?p=190</guid>
		<description><![CDATA[<a href="http://www.5bay.cn/server-building/%E5%A2%9E%E5%8A%A0%E7%BD%91%E7%AB%99%E5%8F%8D%E5%90%91%E9%93%BE%E6%8E%A5%E7%9A%8410%E7%A7%8D%E6%96%B9%E6%B3%95.html"><img align="left" hspace="5" width="150" height="150" src="http://www.5bay.cn/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>在SEO工作中，网站优化完之后，最重要的工作就是增加反向链接了。如何增加反向链接呢？这是很多站长头疼的问题，王通在这里和大家分享10种增加反向链接的方法：方法1、将网站提交道DMOZ目录、yahoo目录、ODP目录一个一些专业目录网站；方法2、到交换链接的BBS发布友情链接交换信息, 比如到：http://www.seo.org.cn/forum/ &#160;方法3、与行业协会或商业机构联系。这些非营利性的网站的链接权重一般都比较高，所以与这些网站进行链接交换也是非常好的一种手段；方法4、寻找竞争对手网站的反向链接，主动与这些网站进行链接交换：向超越竞争对手，最好的办法就是竞争对手有的反向链接你都有，竞争对手没有的你也有。呵呵！方法5、发布新闻稿，在新闻稿中合理的加上超链接，当这个新闻被众多网站转载之后，就可以帮助你的网站增加非常多的反向链接：方法6、在论坛签名中加上你的超链接。经常混论坛，发帖子，资源要好好利用；方法7、创建blog，创建blog，丰富blog的内容，在blog中合理的加上你的网站的超链接；方法8、用搜索引擎搜索“提交网站、add url”等相关关键词。搜索到的网页中，可以增加你网站的反向链接；方法9、给自己的增加自助链接申请功能，吸引其他网站主动与你链接；方法10、购买反向链接，有很多站长拥有数量非常多的资源，你可以向他们购买反向链接。 增加反向链接要注意的问题：1、要循序渐进，不要一下子增加非常多： &#160; 如果你很短时间内，迅速的增加了非常多的反向链接，你很容易会被Google放进“沙盒”，也就是说你的网站不会被Google封掉，但是却无法获得很好的排名。所以增加反向链接不要过急，要一步一步地来。2、增加反向链接要重质量，不要单纯追求数量： &#160; 如果你的网站像长久的获得好的排名，反向链接的质量会比数量更加的重要，增加反向链接，最好找有相关度近的。 相关博文2010年07月28日 -- ASP防注入新方式，希望对大家是有用的 (0)2010年07月26日 -- 最令PHP初学者头痛的十四个问题 (0)2010年07月26日 -- 使用Ajax时的十个常犯的错误 (0)2010年07月26日 -- 基于JSON的高级AJAX开发技术 (0)2010年05月23日 -- Rsync详解 (0)2010年05月23日 -- 《高性能网站建设指南》读书笔记 (0)2011年06月29日 -- Android在线开发工具 App Inventor (0)2011年06月29日 -- odex相关知识 (0)2010年07月28日 -- 如何删除删不掉的”PRN.asp:.jpg” (0)2010年07月28日 -- 防止网卡被禁用的具体配置方法 (0)2010年07月28日 -- 通过注册表彻底删除guest等账户 (0)2010年07月28日 -- 无需输入密码登陆3389 (0)2010年07月28日 -- Webshell下破解计算机管理员密码 (0)2010年07月26日 -- php的文档句法(heredoc)]]></description>
			<content:encoded><![CDATA[<p>在SEO工作中，网站优化完之后，最重要的工作就是增加反向链接了。如何增加反向链接呢？这是很多站长头疼的问题，王通在这里和大家分享10种增加反向链接的方法：<br/><br/><a href="http://www.5bay.cn/tag/%E6%96%B9%E6%B3%95" class="st_tag internal_tag" rel="tag" title="标签 方法 下的日志">方法</a>1、将网站提交道DMOZ目录、yahoo目录、ODP目录一个一些专业目录网站；<br/><br/>方法2、到交换链接的BBS发布友情链接交换信息, 比如到：<br/><br/>http://www.<a href="http://www.5bay.cn/tag/seo" class="st_tag internal_tag" rel="tag" title="标签 seo 下的日志">seo</a>.org.cn/forum/ <span id="more-190"></span><br/> &nbsp;<br/>方法3、与行业协会或商业机构联系。这些非营利性的网站的链接权重一般都比较高，所以与这些网站进行链接交换也是非常好的一种手段；<br/><br/>方法4、寻找竞争对手网站的反向链接，主动与这些网站进行链接交换：向超越竞争对手，最好的办法就是竞争对手有的反向链接你都有，竞争对手没有的你也有。呵呵！<br/><br/>方法5、发布新闻稿，在新闻稿中合理的加上超链接，当这个新闻被众多网站转载之后，就可以帮助你的网站增加非常多的反向链接：<br/><br/>方法6、在论坛签名中加上你的超链接。经常混论坛，发帖子，资源要好好利用；<br/><br/>方法7、创建blog，创建blog，丰富blog的内容，在blog中合理的加上你的网站的超链接；<br/><br/>方法8、用搜索引擎搜索“提交网站、add <a href="http://www.5bay.cn/tag/url" class="st_tag internal_tag" rel="tag" title="标签 url 下的日志">url</a>”等相关关键词。搜索到的网页中，可以增加你网站的反向链接；<br/><br/>方法9、给自己的增加自助链接申请功能，吸引其他网站主动与你链接；<br/><br/>方法10、购买反向链接，有很多站长拥有数量非常多的资源，你可以向他们购买反向链接。<br/> <br/><br/>增加反向链接要注意的问题：<br/><br/>1、要循序渐进，不要一下子增加非常多：<br/><br/> &nbsp; 如果你很短时间内，迅速的增加了非常多的反向链接，你很容易会被Google放进“沙盒”，也就是说你的网站不会被Google封掉，但是却无法获得很好的排名。所以增加反向链接不要过急，要一步一步地来。<br/><br/>2、增加反向链接要重质量，不要单纯追求数量：<br/><br/> &nbsp; 如果你的网站像长久的获得好的排名，反向链接的质量会比数量更加的重要，增加反向链接，最好找有相关度近的。<br/></p>
<h2  class="related_post_title">相关博文</h2><ul class="related_post"><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/aspeaojie.html" title="ASP防注入新方式，希望对大家是有用的">ASP防注入新方式，希望对大家是有用的</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eeeeeeee.html" title="最令PHP初学者头痛的十四个问题">最令PHP初学者头痛的十四个问题</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eejaxeeeeee.html" title="使用Ajax时的十个常犯的错误">使用Ajax时的十个常犯的错误</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eesoneeajaxeehuai.html" title="基于JSON的高级AJAX开发技术">基于JSON的高级AJAX开发技术</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/rsyncxiangjie.html" title="Rsync详解">Rsync详解</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/gaoxingnengwangzhanjianshezhinandushubiji.html" title="《高性能网站建设指南》读书笔记">《高性能网站建设指南》读书笔记</a> (0)</li><li>2011年06月29日 -- <a href="http://www.5bay.cn/android%e7%ac%94%e8%ae%b0/androidzaixiankaifagongjuappinventor.html" title="Android在线开发工具 App Inventor">Android在线开发工具 App Inventor</a> (0)</li><li>2011年06月29日 -- <a href="http://www.5bay.cn/android%e7%ac%94%e8%ae%b0/odexxiangguanzhishi.html" title="odex相关知识">odex相关知识</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/eeprn-asp-jpg.html" title="如何删除删不掉的”PRN.asp:.jpg”">如何删除删不掉的”PRN.asp:.jpg”</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/eeeeeeee-2.html" title="防止网卡被禁用的具体配置方法">防止网卡被禁用的具体配置方法</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/eeeuestee.html" title="通过注册表彻底删除guest等账户">通过注册表彻底删除guest等账户</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/eeeeee389.html" title="无需输入密码登陆3389">无需输入密码登陆3389</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/webshelleechueeee.html" title="Webshell下破解计算机管理员密码">Webshell下破解计算机管理员密码</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/phpeefangeredoc.html" title="php的文档句法(heredoc)<<<和PHP字符串操作">php的文档句法(heredoc)<<<和PHP字符串操作</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/peeeeee.html" title="深入探讨PHP中的内存管理问题">深入探讨PHP中的内存管理问题</a> (0)</li></ul>
	标签Tags：<a href="http://www.5bay.cn/tag/%E5%8F%8D%E5%90%91%E9%93%BE%E6%8E%A5" title="反向链接" rel="tag">反向链接</a>, <a href="http://www.5bay.cn/tag/%E6%96%B9%E6%B3%95" title="方法" rel="tag">方法</a>, <a href="http://www.5bay.cn/category/server-building" title="服务器构建&amp;安全" rel="tag">服务器构建&amp;安全</a>, <a href="http://www.5bay.cn/tag/%E7%BD%91%E7%AB%99" title="网站" rel="tag">网站</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.5bay.cn/server-building/%E5%A2%9E%E5%8A%A0%E7%BD%91%E7%AB%99%E5%8F%8D%E5%90%91%E9%93%BE%E6%8E%A5%E7%9A%8410%E7%A7%8D%E6%96%B9%E6%B3%95.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>网站程序 sql server 转 access</title>
		<link>http://www.5bay.cn/network-programming/asp/%E7%BD%91%E7%AB%99%E7%A8%8B%E5%BA%8Fsqlserver%E8%BD%ACaccess.html</link>
		<comments>http://www.5bay.cn/network-programming/asp/%E7%BD%91%E7%AB%99%E7%A8%8B%E5%BA%8Fsqlserver%E8%BD%ACaccess.html#comments</comments>
		<pubDate>Wed, 27 Dec 2006 21:49:16 +0000</pubDate>
		<dc:creator>江小邪</dc:creator>
				<category><![CDATA[ASP]]></category>
		<category><![CDATA[access]]></category>
		<category><![CDATA[sqlserver]]></category>
		<category><![CDATA[程序]]></category>
		<category><![CDATA[网站]]></category>

		<guid isPermaLink="false">?p=160</guid>
		<description><![CDATA[<a href="http://www.5bay.cn/network-programming/asp/%E7%BD%91%E7%AB%99%E7%A8%8B%E5%BA%8Fsqlserver%E8%BD%ACaccess.html"><img align="left" hspace="5" width="150" height="150" src="http://www.5bay.cn/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>　前一段时间由于服务器的原因要求把原来的连sql server数据库的asp程序改成连access的，碰到了很多的问题，总的感觉access要求sql语句要严格一点．主要需要修改的地方：1、自动编号　SQL转ACCESS解决自动编号问题http://www.baidu.com/s?ie=gb2312&#38;bs=SQL%D7%AAACCESS%BD%E2%BE%F6%D7%D4%B6%AF%B1%E0%BA%C5%CE%CA%CC%E2&#38;sr=&#38;z=&#38;cl=3&#38;f=8&#38;wd=SQL%D7%AAACCESS%BD%E2%BE%F6%D7%D4%B6%AF%B1%E0%BA%C5%CE%CA%CC%E2&#38;ct=0导出数据以后要把自动编号的起始编号修改，不然会乱掉　ALTER TABLE 表格名　 ALTER COLUMN id COUNTER (10, 1) 　10为起始编号　　1为步进（access要输入运行语句：查询－－＞在设计视图中创建查询－－＞取消添加－－＞点左上角的sql 切换到　sql视图　就可以输入上面的命令了）2、sql语句　数值型 不带单引号　如（select * from table where id=&#039;1&#039;）sql server　可以access　不可以3、时间函数sql_serversql=&#34;DATEADD(dd,fulltime-0,addtime)&#34;sql=&#34;datediff(day,getdate(),addtime)&#34;accesssql=&#34;datediff(&#039;d&#039;,DATE(),addtime)&#34;sql=&#34;addtime&#60;#2006-12-10#&#34;asp&#60;%DateDiff(&#34;d&#34;,formatdatetime(now(),2),rs(&#34;addtime&#34;))%&#62;&#60;%dateadd(&#34;d&#34;,rs(&#34;fulltime&#34;),rs(&#34;addtime&#34;))%&#62;4、 如（select top 1 * from table where id=１）sql可以没topaccess不可以5、sql &#34;addtime=&#039;&#34;&#38;now()&#38;&#34;&#039;&#34;access &#34;addtime=now()&#34;6、sqldelete table where id=&#34;&#38;id&#38;&#34;accessdelete from table where id=&#34;&#38;id&#38;&#34; 相关博文2010年07月28日 -- ASP防注入新方式，希望对大家是有用的 (0)2010年07月26日 -- 最令PHP初学者头痛的十四个问题 (0)2010年07月26日 -- 使用Ajax时的十个常犯的错误 (0)2010年07月26日 -- 基于JSON的高级AJAX开发技术 (0)2010年05月23日 -- Rsync详解 (0)2010年05月23日 -- nginx的rewrite规则 (1)2011年06月29日 [...]]]></description>
			<content:encoded><![CDATA[<p>　前一段时间由于服务器的原因要求把原来的连sql server数据库的asp程序改成连access的，碰到了很多的问题，总的感觉access要求sql语句要严格一点．<span id="more-160"></span><br/><br/>主要需要修改的地方：<br/><br/>1、自动编号　<br/><br/>SQL转ACCESS解决自动编号问题<br/>http://www.baidu.com/s?<a href="http://www.5bay.cn/tag/ie" class="st_tag internal_tag" rel="tag" title="标签 ie 下的日志">ie</a>=gb2312&amp;bs=<a href="http://www.5bay.cn/tag/sql" class="st_tag internal_tag" rel="tag" title="标签 sql 下的日志">SQL</a>%D7%AAACCESS%BD%E2%BE%F6%D7%D4%B6%AF%B1%E0%BA%C5%CE%CA%CC%E2&amp;sr=&amp;z=&amp;cl=3&amp;f=8&amp;wd=<a href="http://www.5bay.cn/tag/sql" class="st_tag internal_tag" rel="tag" title="标签 sql 下的日志">SQL</a>%D7%AAACCESS%BD%E2%BE%F6%D7%D4%B6%AF%B1%E0%BA%C5%CE%CA%CC%E2&amp;ct=0<br/><br/>导出数据以后要把自动编号的起始编号修改，不然会乱掉<br/><br/>　ALTER TABLE 表格名<br/>　 ALTER COLUMN id COUNTER (10, 1) <br/><br/>　10为起始编号　<br/>　1为步进<br/><br/>（access要输入运行语句：查询－－＞在设计视图中创建查询－－＞取消添加－－＞点左上角的sql 切换到　sql视图　就可以输入上面的命令了）<br/><br/>2、sql语句　数值型 不带单引号　如（select * from table where id=&#039;1&#039;）<br/>sql <a href="http://www.5bay.cn/tag/server" class="st_tag internal_tag" rel="tag" title="标签 server 下的日志">server</a>　可以<br/><a href="http://www.5bay.cn/tag/access" class="st_tag internal_tag" rel="tag" title="标签 access 下的日志">access</a>　不可以<br/><br/>3、时间函数<br/><br/>sql_server<br/><br/>sql=&quot;DATEADD(dd,fulltime-0,addtime)&quot;<br/>sql=&quot;datediff(day,getdate(),addtime)&quot;<br/><br/>access<br/><br/>sql=&quot;datediff(&#039;d&#039;,DATE(),addtime)&quot;<br/>sql=&quot;addtime&lt;#2006-12-10#&quot;<br/><br/><a href="http://www.5bay.cn/tag/asp" class="st_tag internal_tag" rel="tag" title="标签 ASP 下的日志">asp</a><br/><br/>&lt;%DateDiff(&quot;d&quot;,formatdatetime(now(),2),rs(&quot;addtime&quot;))%&gt;<br/>&lt;%dateadd(&quot;d&quot;,rs(&quot;fulltime&quot;),rs(&quot;addtime&quot;))%&gt;<br/><br/>4、 如（select top 1 * from table where id=１）<br/>sql可以没top<br/>access不可以<br/><br/>5、<br/>sql &quot;addtime=&#039;&quot;&amp;now()&amp;&quot;&#039;&quot;<br/>access &quot;addtime=now()&quot;<br/><br/>6、<br/>sql<br/>delete table where id=&quot;&amp;id&amp;&quot;<br/><br/>access<br/>delete from table where id=&quot;&amp;id&amp;&quot; </p>
<h2  class="related_post_title">相关博文</h2><ul class="related_post"><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/aspeaojie.html" title="ASP防注入新方式，希望对大家是有用的">ASP防注入新方式，希望对大家是有用的</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eeeeeeee.html" title="最令PHP初学者头痛的十四个问题">最令PHP初学者头痛的十四个问题</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eejaxeeeeee.html" title="使用Ajax时的十个常犯的错误">使用Ajax时的十个常犯的错误</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/eesoneeajaxeehuai.html" title="基于JSON的高级AJAX开发技术">基于JSON的高级AJAX开发技术</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/rsyncxiangjie.html" title="Rsync详解">Rsync详解</a> (0)</li><li>2010年05月23日 -- <a href="http://www.5bay.cn/server-building/nginxderewriteguize.html" title="nginx的rewrite规则">nginx的rewrite规则</a> (1)</li><li>2011年06月29日 -- <a href="http://www.5bay.cn/android%e7%ac%94%e8%ae%b0/androidzaixiankaifagongjuappinventor.html" title="Android在线开发工具 App Inventor">Android在线开发工具 App Inventor</a> (0)</li><li>2011年06月29日 -- <a href="http://www.5bay.cn/android%e7%ac%94%e8%ae%b0/zaiandroidzhongchuangjianqidongjiemian.html" title="在Android中创建启动界面">在Android中创建启动界面</a> (0)</li><li>2011年06月29日 -- <a href="http://www.5bay.cn/android%e7%ac%94%e8%ae%b0/wangshangzhenglideandroidquanxiandaquan.html" title="网上整理的android权限大全">网上整理的android权限大全</a> (0)</li><li>2011年06月29日 -- <a href="http://www.5bay.cn/game-development/zishenshejishitonyventricejiexishoujiyouxikaifadesigecengci.html" title="资深设计师Tony Ventrice解析手机游戏开发的四个层次">资深设计师Tony Ventrice解析手机游戏开发的四个层次</a> (0)</li><li>2010年08月17日 -- <a href="http://www.5bay.cn/server-building/nginxxiansu.html" title="Nginx限速">Nginx限速</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/eeprn-asp-jpg.html" title="如何删除删不掉的”PRN.asp:.jpg”">如何删除删不掉的”PRN.asp:.jpg”</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/eeeuestee.html" title="通过注册表彻底删除guest等账户">通过注册表彻底删除guest等账户</a> (0)</li><li>2010年07月28日 -- <a href="http://www.5bay.cn/server-building/webshelleechueeee.html" title="Webshell下破解计算机管理员密码">Webshell下破解计算机管理员密码</a> (0)</li><li>2010年07月26日 -- <a href="http://www.5bay.cn/network-programming/phpeecketee.html" title="PHP和Socket简介">PHP和Socket简介</a> (0)</li></ul>
	标签Tags：<a href="http://www.5bay.cn/tag/access" title="access" rel="tag">access</a>, <a href="http://www.5bay.cn/category/network-programming/asp" title="ASP" rel="tag">ASP</a>, <a href="http://www.5bay.cn/tag/sqlserver" title="sqlserver" rel="tag">sqlserver</a>, <a href="http://www.5bay.cn/tag/%E7%A8%8B%E5%BA%8F" title="程序" rel="tag">程序</a>, <a href="http://www.5bay.cn/tag/%E7%BD%91%E7%AB%99" title="网站" rel="tag">网站</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.5bay.cn/network-programming/asp/%E7%BD%91%E7%AB%99%E7%A8%8B%E5%BA%8Fsqlserver%E8%BD%ACaccess.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

