做反向解析(PTR):
在垃圾邮件泛滥的今天,垃圾邮件给我们的生活、工作、学习带来了极大的危害。由于SMTP服务器之间缺乏有效的发送认证机制,即使采用了垃圾邮件识别阻拦 技术效果仍旧一般,再者垃圾邮件识别阻拦技术主要是在收到信件后根据一定条件进行识别的,需要耗费大量服务器资源,如果能在信件到达服务器之前就采取一定 手段,这样就能大大提高服务器效率了。因此,目前许多邮件服务器如sina.com,hotmail.com,yahoo.com.cn等等都采用了垃圾 邮件识别阻拦技术+IP反向解析验证技术以更好的阻拦垃圾邮件。
我们先来了解一下什么是IP反向解析。其实作过DNS服务器的朋友一定会知道DNS服务器里有两个区域,即“正向查找区域”和“反向查找区域”,反向查找 区域即是这里所说的IP反向解析,它的作用就是通过查询IP地址的PTR记录来得到该IP地址指向的域名,当然,要成功得到域名就必需要有该IP地址的 PTR记录。 Continue reading
HTML中的IF语法判断IE版本
1. <!–[if !IE]><!–> 除IE外都可识别 <!–<![endif]–>
2. <!–[if IE]> 所有的IE可识别 <![endif]–>
3. <!–[if IE 5.0]> 只有IE5.0可以识别 <![endif]–>
4. <!–[if IE 5]> 仅IE5.0与IE5.5可以识别 <![endif]–>
5. <!–[if gt IE 5.0]> IE5.0以及IE5.0以上版本都可以识别 <![endif]–>
6. <!–[if IE 6]> 仅IE6可识别 <![endif]–>
7. <!–[if lt IE 6]> IE6以及IE6以下版本可识别 <![endif]–>
8. <!–[if gte IE 6]> IE6以及IE6以上版本可识别 <![endif]–>
9. <!–[if IE 7]> 仅IE7可识别 <![endif]–>
10. <!–[if lt IE 7]> IE7以及IE7以下版本可识别 <![endif]–>
11. <!–[if gte IE 7]> IE7以及IE7以上版本可识别 <![endif]–>
正则(JS)re=new RegExp(“^\d*$”);与re=/^d*$/;之间区别?
以下代码结果为:FALSE,TRUE,TRUE , 结果中为什么第一个为FALSE呢?
<form name=form1>
字符串:<input name=”t1″ value=”123456″>
模式:/<input name=”t2″ value=”^d*$”>/
</form>
<script language=javascript>
function c1()
{
re=new RegExp(“^d*$”);
alert(re.test(“123456″));
}
function c2(form)
{
re=new RegExp(form.t2.value);
alert(re.test(form.t1.value));
}
function c3()
{
re=/^d*$/;
alert(re.test(“123456″));
}
c1();
c2(document.form1);
c3();
</script>
第一个应为 re=new RegExp(“^\d*$”);
在引号中需要转义
第一个表达式有双引号,双引号要加多一次转义的,第二个没有,这就是区别
Javascript跨域读取数据的新突破!
首先一点,这里的跨域不是类似 aaa.test.com 和 bbb.test.com的二级域名跨域,这种跨域的问题好像有很多人研究过了,而且也实现了。我这里说的跨域是像www.aaa.com和www.bbb.com这样的跨域。
再说一下我研究的这个跨域所要实现的功能吧,我有自己的域名www.aaa.com,我的域名下有一个图片列表页面,这个页面需要在其他域名,例如www.bbb.com的页面上显示,说到这里,可能有些朋友会说,提供一段代码,在www.bbb.com上iframe一下,不就结了吗,也牵扯不到跨域的问题,但是有一点,如果是ifame的方式在bbb.com上显示的话,这个iframe窗体的高度不是能够随着我的图片页面的高度变化的,也就是说,如果我提供的图片页面很长,那么就会在bbb.com的页面上显示滚动条,这样的话,页面会变得很难看,而这是我所希望的。
好了,说一下我的实现方式,我采用JS直接创建层的方式在bbb.com的show.html页面上直接创建我所需要的数据容器层,
<div id=”Data-Container”></div>
然后再把获取数据的链接get.asp附加到页面上<head>元素里面,利用OBJ.appendChild(obj),
<head>
<script src=”http://www.aaa.com/…/get.asp” id=”Data-Handler”></script>
</head>
在链接页面获取到数据
var content = ‘this is test content’; 以后,
在该页面的底部执行预先定义好的赋值函数
function SetData(){
document.getElementById(‘Data-Container’).innerHTML = content;
}
这样,原本在aaa.com域名下的数据就巧妙的显示到了bbb.com域名下的页面里,关键一点是,层Data-Container的高度会随着获取到数据的大小而自动调整大小,这样,show.html的高度也会自动调整了,就不会出现难看的上下滚动条了。
当然,这只是一个简单的工作原理,其中还有好多需要注意的地方,比如更复杂的回传参数,更新数据等,剩下的下次再写吧。
FlashFXP 3.6 Final(正式版)注册码
经过多个 RC 版本以后,FlashFXP 终于发布了 3.6.0 Build 1240 的正式版,当然很快在 9Down 那边的回复里就出现了破解注册码 ,帖一个:
FLASHFXPxgA9UrTnxgAAAAC7W5MNJwTnsl73n0Vuu1AePJgEAG
41mgSvHSiDWi1Kg8B5xJNCCCAVCMr9Rtmo6u93NoQF27wg6KrQ
3RIE8Jz6Qy/YlnYIBf58aRJrG7rGITgQJ4KSmyK0wz4xySS+0H
N/9lJ65abJf7rB7m3R2vyjhakIKSzZnquXQ0/Rdv5nMS+Bbc7n
rMqoYnTURE8jeePVOgIO9a4N89ORDsPW4uEtPjCXiyk1hVcse3
3uZgJ/H5KriA==
———————————————————
重要注意事项:
因为 FlashFXP 在启动时会连接到网站的服务器检查许可的激活数量是否合法,因此公共的注册码肯定会遭到屏蔽,所以请在你的杀毒软件的防火墙中阻止 secure.flashfxp.com 和 liveupdate.inicom.net 这两个地址,或者通过编辑 C:WindowsSystem32DriversetcHOSTS 文件将这两个地址指向到 127.0.0.1。
PHP初学者头疼问题总结[Usefull]
【1】页面之间无法传递变量 get,post,session在最新的php版本中自动全局变量是关闭的,所以要从上一页面取得提交过来得变量要使用$_GET['foo'],$_POST['foo'],$_SESSION['foo']来得到
当然也可以修改自动全局变量为开(php.ini改为register_globals = On);考虑到兼容性,还是强迫自己熟悉新的写法比较好。
【2】Win32下apache2 用get方法传递中文参数会出错
test.php?a=你好&b=你也好
传递参数是会导致一个内部错误
解决办法:”test.php?a=”.urlencode(你好).”&b=”.urlencode(你也好)
………….
【3】win32下的session不能正常工作
php.ini默认的session.save_path = /tmp
这显然是linux下的配置,win32下php无法读写session文件导致session无法使用
把它改成一个绝对路径就可以了,例如session.save_path = c:windowstemp Continue reading
SEO策略的核心领域[转]
一个SEO策略应该主要包括三个部分:
² 内容研究与创新
² 网站内部的内容架构
² 建立导入链接
这几个部分不强调要有一个正确执行顺序,有的人直到网站被关闭了也没有建立导入链接,相反的,有的人从建立链接开始着手,并且取得了很好的效果。
我可能比较偏向于创建内容和建立链接同时进行,因为网站的架构需要大量的内容去不断的充实,对于一个成功的网站而言,终其一生,内容的更新和链接的建立都是不断进行的过程。
内容的研究与更新
首要的工作是确认关键词,通过这些关键词,客户才能使用搜索引擎找到你的产品和服务,以下是确认关键词的工具的链接:
http://www.keyworddiscovery.com
还有其他的一些工具,你可以自己寻找,然后使用其中一个或几个为你服务。
一般而言,不可能只搜索到几个有限的词语,而是你搜索的越多,你能够找的资源也就越多,如果时间允许的话,可能还需要进一步的发掘。
需要牢记的一件非常重要的事情是:GOOGLE上超过一半的搜索都是独一无二的。
你需要为每一个关键词创建一个网页,这可能意味着要创建很多页面。当根据你的关键词创立了含有内容的网页之后,就有很多事情需要做了,这些事情是搜索引擎将要浏览并借以决定你的网页是关于什么内容的依据,它们包括:
l 导入链接文本
l 标题标签
l 主题标签
l META标签
l 网站剩余的内容
l URL
……
上面的每一项内容都是一个机会去告诉搜索引擎你的网页是关于什么方面的——但是你要是做得太过了,你就惨了,会遭到惩罚。简单的规则是,如果它看上去和读起来对一般人都OK 的话,那就没问题了。
网站内部的内容架构
这一部分的目的就是分配你站点的PR,使你的主页尽可能高效的运转。
PR(页面分级)与你的导入链接的数目和质量有关,一个好的PR可以提升你的页面在搜索结果中的位置。
如果想看一下你的和其他网站的PR,可以下载Google Toolbar.
在理想的世界里,每一个页面都有他自己的导入链接和PR,但事实上这是不可能也不必要的。
Google建议在每一个页面里有不超过50到100的链接。简单说,每个页面的PR将随着来自于首页的点击而减少,所以你要寻求一种架构,这种架构能给你的每一个网页最少的点击。
竞争性条款可能要更多的PR才能攀升到顶部,因此,你可能想要将一些非常规的等级分类引进你的构架之中,从而使你的特殊网页比其他普通网页得到更多的PR值。
最简单的分配PR又不扰乱你的网站的方法是,使用与你主页相断开的站点地图(Sitemap)。很明显的,这将在连接到你每一个网页的过程中增加一个点击,同时与你的架构相对应的,又与你的主页相结合了。
建立导入链接
这是一个最有挑战性的策略,这个部分需要你做大量的工作,同时进行创造性的思考。
这里有几个方法得到导入链接:
l 和其他的网站交换互惠性的链接
l 购买单向链接
l 建立一些关于你的网站的新奇的东西,这样网民可以在任何地方连接到它
我觉得来自于权威性的网站的导入链接对于竞争性条款是很重要的,甚至对于那些非竞争性的条款,你可能也需要一些好的链接以使你的网站得到进一步的发展。
从GOOGLE的角度看,他们正在寻找那些值得他们公布或者展示的网站去链接,比如:不是为了金钱的目的,或者只是链接交换的结果。
对于你的网站,可能有很多其他的方法从高质量的相关的网站得到导入链接,有什么更好的建议和方法,欢迎一起探讨和分享!
转自[网站优化指南]
WordPress性能优化
WordPress的效率问题似乎一直是议论的热点,今天来看看其中一条SQL语句的效率。
首先将所有插件禁用,并切换为默认模板。 然后按照《WordPress执行效率问题》这篇文章的方法, 在 wp-config.php 中加入
<?php define('SAVEQUERIES', true); ?>
在模板的 footer.php 中加入
<!-- <?php var_dump($wpdb->queries); ?> -->
访问首页,即可从源代码中看到SQL语句。
执行时间最长的是这一条,花了0.02秒:
SELECT DISTINCT * FROM wp_posts WHERE 1=1 AND post_date_gmt <= '2007-01-02 07:12:59' AND ( post_status = 'publish' OR post_author = 1 AND post_status != 'draft' AND post_status != 'static' ) AND post_status != 'attachment' GROUP BY wp_posts.ID ORDER BY post_date DESC LIMIT 0, 10"
这条语句位于 class.php 的 WP_Query->&get_posts() 函数。
说说这个SQL语句的问题。不妨先来看看 wp_posts 表的结构(省略无关列)。
| 列名 | 类型 | 索引 |
| ID | bigint(20) | PRIMARY |
| post_author | bigint(20) | |
| post_date_gmt | datetime | |
| post_status | enum | INDEX |
| post_name | varchar(200) | INDEX |
首先是关键字 DISTINCT,DISTINCT的作用是去掉重复的数据, 相当于对选择的列进行 GROUP BY。而这条语句中选择了 * 列,包含了主键列 ID, 每行数据必然不相同,因此 DISTINCT 关键字起不到任何作用, 白白浪费一次排序。
其次是 post_date_gmt 和 post_author 上的比较操作。wp_posts表仅有 ID、post_status 和 post_name 列上有索引,对其他列的比较操作使得mysql不得不访问wp_posts表的所有数据, 影响效率。
然后是 post_status 上的不等于的比较。对索引列使用不等于比较, 会导致数据库不能使用索引(索引只能判断等于关系)。 另外显然已经有了 post_status = ‘publish’ 的条件, 不必再判断 post_status != ‘attachment’。
最后是 GROUP BY wp_posts.ID,仍然是对一个不会重复的列进行 GROUP BY, 毫无意义。
如果不考虑功能损失,将这个 SQL 语句优化为下面这样,则仅需花费0.003秒。
SELECT * FROM wp_posts WHERE 1=1 AND post_status = 'publish' ORDER BY post_date DESC LIMIT 0, 10"
使用Apache Bench做测试,优化前平均每个请求的处理时间为 503.125ms,优化后为 478.125ms。
WordPress常用插件100个
0、中文WordPress工具箱: 使用这 个插件,你可以显示随机文章,最新留言(最新引用),留言最多文章,发表评论最多的网友,还有真正的文章摘要,等等,真正截断,没有乱码。
留言相关:
1、Akismet:最流行的反垃圾留言插件。可能吧使用WP至今,它已经协助屏蔽了1700多条垃圾评论。
2、Spam Karma 2:又一个垃圾留言屏蔽插件,和Akismet相比,这个要更为复杂一些。
3、Threaded Comments:实现有针对性的留言。也就是可以针对某个留言进行留言,这个留言不出现在最底部,而是在所针对的留言的下方。
4、Subscribe to Comments:让评论者订阅文章后续评论的插件。
5、Webcam Comments:觉得文字留言太乏味?试试语音或视频留言如何?
6、Gravatars:只要留言者在Gravatars网站上传了头像,在留言时就能显示留言者的头像。
7、De-link Comment Author:有时候你想删除一个评论者的链接但不想删除整个留言,这个插件可以帮助你。
8、Ajax Comments-Reply:将留言系统设置成Ajax形式,不用刷新即可添加评论。
9、DMS Guestbook:为你的博客制作一个留言本。
10、Sexy Comments:替换原来的评论模板,让评论区域看起来有点像论坛的风格,确实相当Sexy。
11、Math Problem Spam Protection:和留言验证码差不多,这个是要回答一道简单的数学问题。
12、Link Love Plugin:去除留言者链接里的”nofollow”标签。
13、Do-Follow:和Link Love Plugin一样,去除留言里的nofollow标签。
SEO相关:
14、All-in-One SEO Pack:必备的SEO插件,不详细介绍,具体参看WordPress的SEO插件。
15、Permalink Redirect:在介绍WordPress的SEO插件时介绍了这个插件,一个实现301转向的插件。
16、Google Sitemaps:在博客根目录生成一个sitemap.xml文件,并自动提交到Google,方便搜索引擎进行索引。
17、Google Pagerank Plugin:展示Page Rank的插件。
18、Alexa Ranking:展示Alexa排名的插件。
19、Dagon Design Sitemap Generator:生成一个网站地图。具体可以看可能吧的网站地图。
20、No WWW:将所有含有www的URL都转向到无www的URL。
21、Simple Tagging:给文章添加标签。
22、Ultimate Tag Warrior:在WordPress的SEO插件时也介绍了这个插件,主要是用来添加文章标签。对SEO也有一定的帮助。
23、Robots.TXT:协助你方便地编辑robots.txt,我觉得手动编写好robots.txt再上传会更好。 Continue reading
WordPress Robots.txt For SEO
The robots.txt file is used to instruct search engine robots about what pages on your website should be crawled and consequently indexed. Most websites have files and folders that are not relevant for search engines (like images or admin files) therefore creating a robots.txt file can actually improve your website indexation.
Implementing an effective SEO robots.txt file for WordPress will help your blog to rank higher in Search Engines, receive higher paying relevant Ads, and increase your blog traffic.
Here is my robots.txt files, which can further protect WordPress from this duplicate content issue.
User-agent: *
Disallow: /wp-
Disallow: /feed/
Disallow: /trackback/
Disallow: /comments/feed/
Disallow: /page/
Disallow: /comments/
After you created the robots.txt file just upload it to your root directory and you are done!