简单生活

Simple life , it's as easy as 1,2,3...

【11年8月22日更新】WindsPhoto 2.7.3

Apache使用.htaccess屏蔽恶意User Agent

"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; EmbeddedWB 14.52 from: http://www.bsalsa.com/ EmbeddedWB 14.52; .NET CLR 2.0.50727)"

下面是网站日志中的两条记录,这个user agent会重复访问注册页面,并获取验证码,这是垃圾留言和恶意注册的开始。

116.242.22.10 199.27.128.204 - - [30/Oct/2011:04:02:15 +0800] "GET /checkcode.php HTTP/1.1" 302 286 "http://www.***.com/register.php" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; EmbeddedWB 14.52 from: http://www.bsalsa.com/ EmbeddedWB 14.52; .NET CLR 2.0.50727)"

116.242.22.10 199.27.128.204 - - [30/Oct/2011:04:02:19 +0800] "POST /register.php HTTP/1.1" 302 286 "http://www.***.com/register.php" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; EmbeddedWB 14.52 from: http://www.bsalsa.com/ EmbeddedWB 14.52; .NET CLR 2.0.50727)"

阅读全文...

Addthis 1.2 for Z-blog

AddThis Logo

AddThis 是全世界最大的书签和社交网站分享服务商,拥有10亿级数量的用户。本插件非 AddThis 官方插件,旨在为用户提供一键式的用户体验,无需修改模版等。

启用该插件后,进行“文件重建”,将在文章底部加入AddThis的Z-Blog代码,无需管理。更新到最新的 AddThis 代码,包括Facebook like, tweet this, Google Plusone,另外使用默认的图标排序。

AddThis 也提供对一些中文网站的支持,如新浪微博、Qzone、豆瓣等,尽管如此,AddThis 并不适合中文网站。安装该插件前请注意,该插件仅适用于英文网站。

阅读全文...

符合XHTML标准和HTML5标准的Flash嵌入代码

苹果设备的不支持让Adobe Flash的日子越来越不好过,不过Flash被HTML5替代的进程依然是长路漫漫,我们需要做的是在学习HTML5的同时继续用好Flash。

今天闲来无事继续博客的W3C HTML标准验证,大多数不符合项都是Flash导致的,于是参照建议学习并改正,一起来学习吧。

传统的嵌入代码

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="400" height="300" id="movie" align="">
<param name="movie" value="movie.swf">
<embed src="movie.swf" quality="high" width="400" height="300" name="movie" align="" type="application/x-shockwave-flash"  pluginspage="http://www.macromedia.com/go/getflashplayer">
</object>

同时使用了<object>元素和<embed>元素嵌入Flash,很长的代码,感觉上有点累赘。<object>元素用来支持IE浏览器,<embed>元素用来支持IE外的其他浏览器,这样的代码可以在多浏览器中兼容,不过,如果你想通过W3C的各种HTML标准的验证肯定是不行的。

阅读全文...

PHP判断字符串中是否含有中文

自从有了黑帽SEO,对付SPAM(垃圾留言)一直是网站工作人员的工作内容之一。迫害我们的不是垃圾留言群发机,就是垃圾用户注册机。

判断字符串中是否含有中文是对付SPAM的方法之一,可以有效的阻止纯英文的垃圾留言,还可以用这个方法规范用户注册。看下面的代码,兼容gb2312和utf-8。

<?
$str = "测试中文";
echo $str;
echo "<hr>";
//if (preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str)) { //只能在GB2312情况下使用
//if (preg_match("/^[\x7f-\xff]+$/", $str)) { //兼容gb2312,utf-8 //判断字符串是否全是中文
if (preg_match("/[\x7f-\xff]/", $str)) { //判断字符串中是否有中文
echo "正确输入";
} else {
echo "错误输入";
}
?>

阅读全文...

window.parent与window.opener的区别与使用

1、window.parent 是iframe页面调用父页面对象

举例: a.html

<html>
<head><title>A</title></head>
<body>
<form name="form1" id="form1">
<input type="text" name="username" id="username"/>
</form>
<iframe src="b.html" width=100%></iframe>
</body>
</html>

如果我们需要在b.html中要对a.html中的username文本框赋值(就如很多上传功能,上传功能页在ifrmae中,上传成功后把上传后的路径放入父页面的文本框中),我们应该在b.html中写:

阅读全文...

使用canonical标签解决HDWiki内容重复问题

hdwiki不得不说HDWiki是一个问题相当多的程序,论坛人气差,反映的问题往往不能得到很好的解决。

以自己的 淮南百科 为例,在开启伪静态的情况下,同一个词条的链接可能有以下几种:

  1. http://baike.i0554.com/doc-view-273.html

  2. http://baike.i0554.com/doc-innerlink-淮王鱼.html

  3. http://baike.i0554.com/doc-innerlink-肥王鱼.html

  4. baike.i0554.com/?doc-innerlink-淮王鱼

  5. http://baike.i0554.com/doc-view-273

简 单分析一下这几个链接:第一个链接是正确的,大多数地方出现的链接都是这个;第二个链接是在相关词条中出现的;第三个链接是在同义词中出现的,链接的形式 和第二个一样;第四个链接同前两个类似,是在搜索引擎中用site命令发现的;第五个链接也是在搜索引擎中用site命令发现的。

阅读全文...

WordPress后台升级时提示输入FTP信息

WordPress 的在线安装和升级实在方便,不过这功能有时候也不那么好用,在不同的服务器主机环境下就可能会有不同的效果。今天就在VPS下关于这个功能遇到点麻烦,当添加、删除、升级 WordPress 插件主题或者直接升级 WordPress 的时候,提示需要输入FTP账户信息,而且输入了FTP账户信息也不管用(无法连接服务器,不知道我哪里设施的不对)。

寻寻觅觅,找到三个方法,没错,是三个方法。

一、在 wp-config.php 里加入下面代码

define("FS_METHOD", "direct");
define("FS_CHMOD_DIR", 0777);
define("FS_CHMOD_FILE", 0777);

阅读全文...

将ucenter事件导入Discuz! X1.5家园

最初做站便是从Discuz开始,还记得当年用的版本是6.0,论坛关闭以后便没再继续使用。两年多过去了,现在的版本已经发展到了Discuz! X1.5。可以说Discuz! X1.5将UCHome和Discuz!论坛很好的整合在了一起。

ucenter对于站长来说是个很好的平台和工具,利用ucenter可以将很多程序的会员系统整合在一起,不仅仅是会员系统,还包括用户事件(feed)、短消息等。

一直使用ucenter整合使用hdwiki、phpcms等程序,最近开始测试Discuz! X1.5。一段时间后发现ucenter后台中的用户事件积累了很长的列表,没有通知到discuz。到dz论坛去找答案,发现很多人有我同样的问题,不过都没有很好的办法解决,无奈之下,只好自己动手。

从论坛中得知UCHome可以显示ucenter中其他应用的事件,研究了相关代码后发现,UCHome通过程序的计划任务定时获取ucenter中的事件并导入到UCHome数据库,某个目录下 cron/getfeed.php 的脚本,而Discuz! X1.5的计划任务中则没有这一项。

那么我们只需要改造一下这个脚本,让它在 Discuz! X 下工作就可以了

阅读全文...

PHP自定义函数实现JavaScript escape编码

中文字符在JSON中是无法处理的,使用的后果一定是乱码伺候,通常我们用JavaScript的escape函数对中文进行编码转换,比如cookie中的用户名。

有些情况下,为了保持程序的一致性,我们需要在PHP中对中文字符进行escape编码,而PHP本身是没有escape函数的,于是便诞生了一些PHP中的自定义函数实现escape编码。

上面被我成功用在 phpcms2008 的 ucenter api 接口文件中,解决了我的一个不大不小的问题。

phpcms2008(v9已经发布了,为了区分,先把版本号写上,后面还是用简称)使用ucenter与其他程序整合后,从其他程序同步登陆到phpcms,顶部用户名会出现乱码。而从phpcms登陆则没有这个问题。

查看了相关源码,发现在phpcms中用户登陆是使用 images/js/common.js 中的setcookie函数来设置cookie,而同步登陆是使用 api/uc.php 设置cookie,80行找到以下代码...

阅读全文...

使用getFullYear获取当前年份

今天@Washun跟我找一段可以显示当前日期的js代码,于是从网上搜来一段简单的代码,在Chrome等浏览器下显示的年份却是110,这个问题之前也有在其他地方遇到过,一直没有引起重视。

于是继续Google,getYear 和 getFullYear 均是 JavaScript 中 Date 对象的方法。

可是有些浏览器,如 Firefox、Chrome,getYear 始终返回 Date 对象中的年份是与 1900 年之间的差距,也就是说如果 Date 对象表示的是今年(2010年),那么返回的就是 110。

即使在 IE 中,如果 Date 对象中的年份是在1900-1999这段时间内,返回的仍然是 Date 对象中的年份与1900年之间的差距。

阅读全文...

分页:« 首页...«1234567891011»...尾页 »
Powered By Z-Blog 1.8 Walle Build 91204
Copyright © 2007-2011 Wilf.cn. Some Rights Reserved