俗话说道高一尺,魔高一丈,既然做了一名 WordPress 独立博客的博主,就要有与垃圾评论斗争到底的信心与决心,但是作为一名打不走,骂不离,死皮赖脸的 Spammer,就要做好与各位博主们周旋的准备。我见的最多的垃圾评论就是在留言中 Ctrl+C、Ctrl+V 千篇一律的话,什么“过来踩踩”、“博主加油”,然后撒下一坨链接就闪人了。这是最没有职业素养的 Spammer(……此处省略三千字对垃圾评论的无限鄙视……) 要防止垃圾评论对 WordPress 本身权重的影响,Wordpress 本身的 nofollow 标签肯定是不够的,所以我还用了 WordPress 评论链接重定向跳转,如果你觉得这还不够彻底的话,可以用这个方法,索性把 WordPress 评论中包括链接的 a 标签过滤掉,只剩下一个无法点击的链接文本。 方法和过滤并替换 WordPress 留言指定字符是差不多的,也是用的钩子,外加一个 PHP 的正则表达式,把链接过滤出来,把以下代码复制到 WordPress 主题文件夹的 functions.php 中就可以了: add_filter(‘comment_text’, ’no_url_text’, 10); function no_url_text($text = ”){ $text = preg_replace(“/<a[^>]*href=[^>]*>|<\/[^a]*a[^>]*>/i”,””,$text); echo $text; } 童鞋们不用在我这里测试了,因为我没有用上,这里是纯解说,无实践。 另外,如果你觉得这还不够彻底,那还有一个更绝的!就是把所有评论者的链接都去掉,不过这样的话在干掉 Spammer 的同时也会干掉所有无辜的博友,请慎用啊。去掉 WordPress 评论者的链接,看到很多参考方法都说改 WordPress 的源文件,其实我不建议那么干,一方面这个方法太原始,咱要玩高级的;另一方面,以后 WordPress 升级就会覆盖掉,所以我们还是在主题文件的 functions.php 中添加钩子比较好: add_filter(‘get_comment_author_link’, ’no_url_author’, 20); function no_url_author($text = ”){ $text = preg_replace(“/<a[^>]*href=[^>]*>|<\/[^a]*a[^>]*>/i”,””,$text); echo $text; } 这下世界就清静了,不过做的太狠,你的博客也会很清静哟,三思而行吧。
内容 更新 »
split (PHP 3, PHP 4, PHP 5) split — 用正则表达式将字符串分割到数组中 说明 array split ( string pattern, string string [, int limit] ) 提示: preg_split() 函数使用了 Perl 兼容正则表达式语法,通常是比 split() 更快的替代方案。如果不需要正则表达式的威力,则使用 explode() 更快,这样就不会招致正则表达式引擎的浪费。 本函数返回一个字符串数组,每个单元为 string 经区分大小写的正则表达式 pattern 作为边界分割出的子串。如果设定了 limit,则返回的数组最多包含 limit 个单元,而其中最后一个单元包含了 string 中剩余的所有部分。如果出错,则 split() 返回 FALSE。 将 /etc/passwd 中的前四个字段分割出来: 例子 1. split() 例子 如果字符串中有 n 个与 pattern [...]
<?php /******************************************************************** * 原文件名:Filter1.php * 文件说明:过滤HTML字符串 * 文件编写:xuefengal@sohu.com * 流程说明: * 当附合要求的参数传递进filter函数后,filter()函数首先 * 把要字串中所有要过滤的标签$tag通过preg_match_all() * 取出来,然后循环preg_match_all的匹配数组,通过preg_split() * 函数分割每个标签为 “左边属性” = “右边值”的形式,再从要保 * 留的属性数组中循环,将preg_split()匹配的内容对应取出,构成 * 可以替换的值,后最通过str_replcae()替换掉字串中相应的标签 * 函数列表: * function filter(&$str,$tag,$keep_attribute) * function match($reg,&$str,$arr) * function show($str,$title=”,$debug = True) * 使用示例: * //取得搜狐新闻首页 * $str = @file_get_content(“http://news.sohu.com”); * //过滤 * filter($str,’a’,’href,target,alt’); * filter($str,’p’,’align’); * show($str,’过滤后的内容’); ********************************************************************/ [...]
为了保护网站的资源,我们通常会不允许代理访问我们的网站,以下方法可以过滤掉所有匿名代理与透明代理,但不能过滤超级代理,同时他们过滤掉局域网的代理,所以如果要正常使用,可能还要做些必要的修改! $proxy = 0; if($_SERVER['HTTP_VIA'] != “”) { $proxy = 1; } if($_SERVER['HTTP_X_FORWARDED_FOR'] != “”) { $proxy = 1; } if($_SERVER['VIA'] != “”) { $proxy = 1; } if($_SERVER['HTTP_FORWARDED'] != “”) { $proxy = 1; } if($_SERVER['FORWARDED'] != “”) { $proxy = 1; } if($_SERVER['HTTP_X_BLUECOAT_VIA'] != “”) { $proxy = 1; } if($_SERVER['HTTP_PROXY____'] != “”) [...]
方法一: IP地址,可能都比较熟悉吧,就是由0-255间的数字,并由 . 隔开组成的。定义非常简单,而用正则表达式检验,同样也非常简单。 下面,我们来看看正则表达式是如何表示的: /\A((([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\.){3}(([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\Z/ 这就是表示IP地址的正则表达式,别吓跑了。下面我们来详细说一下他是如何表示的。首先,我要说明的是开始和结尾的“/”是定界符,不代表什么,而 \A 和 \Z 分别代表开始和结尾,接下来,我们把中间的部分拆成两段,((([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\.){3},这是第一段,我们用不同的颜色标出了圆括号的对应位置。最后的{3}表示最红括号里的内容出现3次。而蓝色括号里的就是表示每一位数字的表示。\. 表示 . 号本身,也就是前三个数字后有点号。现在我们分析最关键的地方,如何表示0-255这些数字。即蓝色括号里的内容。 这些数字可能是一位,两位或三位,我们用符号(|)来表示,当一位或两位时,请看第一个([0-9]?[0-9]) ,问号表示出现0次或1次,这就代表了0-99之间的数字。当数字为三位数时,我们又分三种情况,1-199:我们表示为(1[0-9]{2}),200-249:我们表示为(2[0-4][0-9]),250-255:我们表示为(25[0-5])。这四种能匹配任何一种,都是0-255的范围内,整个前部分的意思就是由三个0-255的数字加小数点组成。后一部分就不用说了,就是前面数字部分的复制。只表示一个数字。现在把它整理成为一个函数。以供参考: /** * 检查IP地址是否正确。 */ function checkipaddres ($ipaddres) { $preg=”/\A((([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\.){3}(([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\Z/”; if(preg_match($preg,$ipaddres))return true; return false; } 方法二: CODE:function IP2V(ip) { re=/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //匹配IP地址的正则表达式 if(re.test(ip)) { return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1 } else { throw new Error(“不是一个正确的IP地址!”) } }[ ]
1. 介绍 VMware已有明确说明vSphere Client目前不能运行在Windows 7上,请看此KB:http://kb.vmware.com/kb/1011329 那么如果你要尝鲜使用Windows 7,又要使用vSphere Client怎么办呢,ebanban studio将为你提供解决方法。 2. 方法 (1)首先,你需要下载system.dll (解压密码为: blog.ebanban.com) (2)下载完成后需要将system.dll放在指定目录 32位Windows 7放在C:\Program Files\VMware\Infrastructure\Virtual Infrastructure Client\Launcher\Lib 64位Windows 7放在C:\Program Files (x86)\VMware\Infrastructure\Virtual Infrastructure Client\Launcher\Lib 注意:若Lib目录不存在,则在Launcher目录下创建Lib目录 (3)修改Launcher目录下的VpxClient.exe.config,修改以下代码 <runtime> <developmentMode developerInstallation=”true”/> </runtime> 注意:若系统提示你无法保存文件,则关闭所有VMware相关的程序再进行保存。 (4)修改你的环境变量 添加变量名DEVPATH 32位Windows 7的键值为C:\Program Files\VMware\Infrastructure\Virtual Infrastructure Client\Launcher\Lib 32位Windows 7的键值为C:\Program Files (x86)\VMware\Infrastructure\Virtual Infrastructure Client\Launcher\Lib
在这里,我们记录一些在ESX主机上发生的、相当常见的问题。通常,可以采取一些简单的步骤去解决这些问题,但有的问题就需要较深入的解决方法。 紫屏死机(PSoDs, Purple Screen of Death) 有一种在ESX和ESXi主机上都可能发生的故障,叫做紫屏死机(可以说是臭名昭著的微软蓝屏死机的VMware版)。紫屏死机会导致ESX/或ESXi主机突然崩溃、变得无法操作。紫屏死机现象如图10.6所示,你一定不希望在自己的主机上发生这种现象。 图10.6 ESX主机上的紫屏死机现象 当PSoDs发生时,ESX会完全死机,没有任何反应。硬件问题(坏有问题的内存是最常见的原因)或ESX中的BUG是导致PSoDs的典型原因。当PSoDs发生时,你只能关闭并重启主机。屏幕上的提示信息非常有用,应该尝试记录它:可以使用带有拍照功能的手机给它照相,或者,如果存在的话,可以从一个远程管理面板上截图。你或许看不明白这些捕获下来的信息,但是,这些信息对VMware的技术支持来说非常有用。屏幕上显示的信息包括ESX的版本和build号、异常类型、寄存器转储(register dump)、崩溃时每个CPU正在跑什么、回溯追踪(back-trace)、服务器运行时间、错误日志、内存硬件信息等。 当你遇到PSoDs并重启主机之后,在ESX主机或/root文件夹下,会有一个以vmkernel-zdump开头(命名)的文件。这个文件对VMware技术支持非常有用,同时,你也可以使用该文件,通过vmkdump工具提取 VMkernel日志信息、寻找与PSoDs有关的线索,从而判断PSoDs发生的原因。要使用这个命令,输入vmkdump –l dump <文件名>。如前所述,坏有问题的内存是PSoDs中常见的原因。 你可以使用dump 文件识别引起问题的内存模块,从而将其替换掉。 如果怀疑是坏内存引起PSoDs,可以使用一些内存压力测试工具来检测主机的内存。这些工具需要你关闭主机并从CD启动以进行内存测试。一个常用的工具是Memtest86+,它可以进行广泛的内存测试,比如,检测邻近内存单元的相互影响,以确保要写某单元时不会覆盖邻近的单元。你可以在www.memtest.org下载这个工具。 当你在某个主机上首次部署ESX的时候,进行一次内存测试是个好主意,这样可以避免在以后某个时候内存故障引起麻烦。许多的内存问题都是不明显的,简单的内存测试,比如POST过程中的内存校验可能都发现不了问题。你可以下载Memtest86+测试工具,一个2MB大小的ISO文件,将这个文件刻录成CD,让主机从该CD启动,然后运行该工具至少24小时以完成多种内存测试。主机中的内存越大,完成一次测试的时间越长,一个拥有32GB内存的主机完成一次测试大概需要1天的时间。除了系统内存,Memtest86+还检测CPU的L1和L2 cache。Memtest86+的运行时间不确定,当所有的测试都完成时,通过的计数器会增加。(Memtest86+ will run indefinitely, and the pass counter will increment as all the tests are run.) 服务器控制台问题 有时候,你可能会遇到服务器控制台问题,表现为:服务器控制台挂起,同时,不允许在本地登录。这种状况可能是由硬件锁定或僵尸状态引起,但是,通常这种问题不会影响在ESX主机上运行的虚拟机(VM)。重启是解决这种问题的常用方法,但是,在重启之前,你应该关闭VM,或者将VM VMmotion到其他的ESX。可以使用各种可用的途径来操作VM,完成关闭或迁移。比如,使用VI client、通过SSH登录到服务控制台或者使用可替代的/紧急的控制台(通过按Alt+F2到F6)。当VM被迁移或者关闭之后,你可以使用reboot命令重启ESX,如果所有的控制台都没有响应,你就只能去按主机上的电源按钮,冷启动主机。 网络问题 有时,你也会遇到某种故障导致丢失了所有或者部分的网络配置,或者网络配置改变导致服务控制台丢失网络连接。当服务控制台的网络连接丢失时,你将无法使用远程的方法来连接ESX主机,包括VI client和SSH。你只能在本地的服务控制台上使用esxcfg-命令行工具恢复/修正网络配置,以下是一些命令,你可以从ESX CLI上使用它们配置网络: esxcfg-nics 这个命令显示物理网卡列表,除去每个网卡的驱动信息、PCI设备、链接状态,你可以使用这个命令控制物理网卡的速度、双工模式等。esxcfg-nics –l显示网卡信息、esxcfg-nics –h显示该命令可用的选项,以下是一些例子: o设置物理网卡vmnic2的速度和双工模式为100/Full: esxcfg-nics -s 100 -d full vmnic2 [...]
Google大受青睐的另一个原因就是它的网站索引速度。向Google提交你的网站直到为Google收录,一般只需两个星期。如果你的网站已经为Google收录,那么通常Google会每月一次遍历和更新(重新索引)你的网站信息。不过对于那些PR值(Pagerank)较高的网站,Google索引周期会相应的短一些。 Google的索引/重新索引周期比大多数搜索引擎要短。这就允许网站管理员可以对网站的页面属性进行编辑修改,如网页标题、头几行文字内容、大字标题、关键字分布,当然了还有外部链接的数量。然后他们很快就可以发现对网页所做的这些更改是否成功。 正因为Google如此受欢迎,你有必要知道Google的搜索引擎是如何工作的。如果不知道它是怎样决定你的排名,那么那些只是稍微熟悉Google排名运算法则的站点都会比你的排名位置要靠前。现在让我们来看一下Google的排名运算法则。 Google的排名运算法则主要使用了两个部分,第一个部分是它的文字内容匹配系统。Google使用该系统来发现与搜索者键入的搜索词相关的网页;第二部分也是排名运算法则中最最重要的部分,就是Google的专利网页级别技术(Pagerank?)。 我先来介绍一下如何使网站具有相关性,即文本内容匹配部分的运算法则: 在搜索网站的关键字时,Google会对其标题标签(meta title)中出现的关键字给予较高的权值。所以你应当确保在你网站的标题标签中包含了最重要的关键词,即应围绕你最重要的关键词来决定网页标题的内容。不过网页的标题不可过长,一般最好在35到40个字符之间。 众所周知,Google并不使用元标签(Meta Tags)如关键字或描述标签。这是由于在这些元标签中所使用的文字并不能为实际的访问者所看到。而且Google认为,这些元标签会被某些网站管理员用于欺诈性地放置一些与其网站毫不相干的热门关键词,并以此提高其网站对该不相干关键词的排名,从而以不正当的手段获得更多的访问者。 这种不支持Meta Tags的特性,意味着Google将从一个网页的头几行文字内容来生成对一个网站的描述。也就是说,你最好把你的关键字或关键短语放到网页的上方,这样如果Google找到它们,就会相应提高你网站的相关性。一旦Google找不到这样相关的内容,那么你要花费很大的力气来让你页面的其它部分具有相关性。 在决定一个网站的相关性时,Google也会考虑网页中正文内容的关键字密度(Keyword Density),所以你要确保在你的整个网页中贯穿出现了若干次关键词和关键短语。但是要记住“过犹不及”,6-10%的关键词密度为最佳。 增加页面相关性的其它策略还包括:在标题内容中放入关键词,并尽可能对内容中出现的关键词进行加粗。Google现在也索引图片的ALT属性文字并计入相关性计算。所以在你的ALT属性中应包含关键词,来增加网站的相关性得分。 增加页面相关性的最后一个技巧就是使你网站上的外部文字链接包含你的关键字。在外部文字链接中包含关键字可有效提高你的网站相关性得分(Google在其PageRank技术的描述中,亦提及在计算网页级别时会对该网站的外部链接进行分析并计入相关性)。 在文字链接中应该包含多少关键字?这是个见仁见智的问题。不过我注意到有很多网站在他们的交换链接区域,已经提供了相应的文字链接内容。例如:“欢迎进行友情链接,并请使用如下代码建立至本网站的链接。” 上面我们介绍了Google如何计算网站的相关性,及如何增加网站相关性的一些有关知识。不过Google究竟使用什么方法来衡量一个网站的好坏呢?答案就是-Google的Pagerank?系统。 PageRank取自Google的创始人Larry Page,它是Google排名运算法则(排名公式)的一部分,用来标识网页的等级/重要性。级别从1到10级,10级为满分。PR值越高说明该网页越受欢迎(越重要)。例如:一个PR值为1的网站表明这个网站不太具有流行度,而PR值为7到10则表明这个网站非常受欢迎(或者说极其重要)。 在计算网站排名时,PageRank会将网站的外部链接数考虑进去。我们可以这样说:一个网站的外部链接数越多其PR值就越高;外部链接站点的级别越高(假如Macromedia的网站链到你的网站上),网站的PR值就越高。例如:如果ABC.COM网站上有一个XYZ.COM网站的链接,那么ABC.COM网站必须提供一些较好的网站内容,从而Google会把来自XYZ.COM的链接作为它对ABC.COM网站投的一票。你可以下载和安装Google的工具条来检查你的网站级别(PR值)。 那么是不是说,一个网站的外部链接数越高(获得的投票越多), 这个网站就越重要,因而在用与其相关的关键词进行搜索时,它就会取得更高的排名呢?--大错特错。 Google对一个网站上的外部链接数的重视程度并不意味着你因此可以不求策略地与任何网站建立连接。这是因为Google并不是简单地由计算网站的外部链接数来决定其等级。要是那样的话,所有网站管理员就只剩一件事情可做了-疯狂交换链接,尽可能获得最多的外部链接。Google是这样描述的:“Google不只是看一个网站的投票数量,或者这个网站的外部链接数量。同时,它也会对那些投票的网站进行分析。如果这些网站的PR值比较高(具有相当重要性),则其投票的网站可从中受益(亦具有重要性)。 那么,是不是说对一个网站而言,它所拥有的较高网站质量和较高PR分值的外部链接数量越多就越好呢?-也不尽然。 说它错是因为-Google的Pagerank系统不单考虑一个网站的外部链接质量,也会考虑其数量。比方说,对一个有一定PR值的网站X来说,如果你的网站Y是它的唯一一个外部链接,那么Google就相信网站X将你的网站Y视做它最好的一个外部链接,从而会给你的网站Y更多的分值。可是,如果网站X上已经有49个外部链接,那么Google就相信网站X只是将你的网站视做它第50个好的网站。因而你的外部链接站点上的外部链接数越多,你所能够得到的PR分值反而会越低,它们呈反比关系。 说它对是因为-一般情况下,一个PR分值大于等于6的外部链接站点,可显著提升你的PR分值。但如果这个外部链接站点已经有100个其它的外部链接时,那你能够得到的PR分值就几乎为零了。同样,如果一个外部链接站点的PR值仅为2,但你却是它的唯一一个外部链接,那么你所获得的PR值要远远大于那个PR值为6,外部链接数为100的网站。 这个问题现在看来好象越来越复杂了。不要紧,看看下面这个公式你就会完全理解了,只是需要一点数学知识。 首先让我们来解释一下什么是阻尼因数(damping factor)。阻尼因素就是当你投票或链接到另外一个站点时所获得的实际PR分值。阻尼因数一般是0.85。当然比起你网站的实际PR值,它就显得微不足道了。现在让我们来看看这个PR分值的计算公式: PR(A) = (1-d) + d(PR(t1)/C(t1) + … + PR(tn)/C(tn)) 其中PR(A)表示的是从一个外部链接站点t1上,依据Pagerank?系统给你的网站所增加的PR分值;PR(t1)表示该外部链接网站本身的PR分值;C(t1)则表示该外部链接站点所拥有的外部链接数量。大家要谨记:一个网站的投票权值只有该网站PR分值的0.85,而且这个0.85的权值平均分配给其链接的每个外部网站。 设想一个名为akamarketing.com的网站,被链接至PR值为4,外部链接数为9的网站XYZ.COM,则计算公式如下: PR(AKA) = (1-0.85) + 0.85*(4/10) PR(AKA) = 0.15 + 0.85*(0.4) PR(AKA) = 0.15 + 0.34 [...]
There are several lists with “ways to make money with a website” on the Internet, but none of them seem to be complete. That is why I decided to create this one. If you know a method that is not listed below, just let us know and we’ll update it. Notice that ways to make [...]
很多地方都谈到了网站的赚钱方式,不过下面这个应该是最全的了。如果你觉得还有遗漏,可以在下面补充哦。 需要注意的是,这里说的是网站的赚钱方式,而不是赚更多钱的方式。增加流量、提高点击率等,都能让你锦上添花,但它们本身并不代表一种赚钱方式。例如, 将AdSense广告整合到网站文章里可以为网站盈利。但事实上这不是一种赚钱方式,只是通过提高广告点击率赚钱的表现形式之一,其现实盈利方式是PPC和网络。 下面介绍的方法分为直接和间接两种方式,一起来研究吧。
