Category Archives: WEB Application

让Yoast Breadcrumbs支持中文

修改wp-content/plugins/breadcrumbs/yoast-breadcrumbs.php: — wp-content/plugins/breadcrumbs/yoast-breadcrumbs.php (revision 22) +++ wp-content/plugins/breadcrumbs/yoast-breadcrumbs.php (revision 23) @@ -49,7 +49,7 @@ foreach (array(‘home’, ‘blog’, ‘sep’, ‘singleparent’, ‘prefix’, ‘archiveprefix’, ‘searchprefix’, ‘breadcrumbprefix’, ‘breadcrumbsuffix’) as $option_name) { if (isset($_POST[$option_name])) { – $opt[$option_name] = htmlentities(html_entity_decode($_POST[$option_name])); + $opt[$option_name] = htmlentities(html_entity_decode($_POST[$option_name], ENT_COMPAT, “UTF-8″), ENT_COMPAT, … Continue reading

Posted in Programming, WEB Application | Tagged , | 1 Comment

英文版IE6下中文字体变大之谜

有个客户的站点上,安装了Joomla的繁体中文语言包,并将繁体中文设置为默认语言后,客户报告说,页面上所有的文字都突然变大了好多。 接到报告后,我们想办法重现问题。然而不巧的是,使用中文版的IE6,IE7, IE8, Firefox3.6,都看不出字体大小的明显变化。最后突然发现客户的屏幕截图当中的IE是英文的,于是找了个英文版的IE6。果然,问题出现了!那么,到底是由于什么因素导致的呢? 通过分析,发现我们做的唯一改变就是语言的转换,尝试把语言换回默认的英文之后,问题没了。但是我们必须要站点的语言是繁体中文的,得找出问题的根源。最后,通过比较不同语言下的xhtml输出,发现了差别。 改变语言之前: 之后: 尝试后发现,导致IE6字体突然变大的原因,是lang=”zh-tw”这个属性,根据标准,这个属性用于向浏览器提示内容的语言,让浏览器选择合适的呈现方式。 一般情况下,对于zh-tw的语言设置,各种浏览器呈现出来的文字都会比en-gb时略宽。然后在英文版的IE6之下,当font-size为13px的时候,zh-tw语言下的文字将会明显变大……至少增大2px,font-size为其他值时这种变化却不明显。有趣的是,把语言设置为zh-cn却没有这问题。(可戏称为台湾问题?不谈政治^_^) 最后,通过修改模板,输出lang=”zh-hk”替代zh-tw来解决问题 IE6真是个怪物,可惜这怪物生命力似乎很顽强。

Posted in WEB Application | Leave a comment

Been hacked,Wow!!!

以前,在还没接触计算机及网络的时候,从一些新闻,电影片段中,知道黑客这一神秘角色,那时便对他们总有一种莫名的崇拜:他们有着精湛的技术,可以在广袤的网络中自由飞翔;他们身怀绝技而又坚持正义,维护公众利益。多酷啊,像是古代的侠客! 后来,知道还有骇客/怪客(cracker),以及脚本小子(script kiddies)那样的角色。于是觉得,原来计算机的世界也和现实世界一样,武艺超群的,可能是警察,也可能是杀手。拿枪的人,可能是个孩子,却也能要你的命。 之前有个朋友问我,被人黑掉(been hacked)是什么效果?我说不知,没被人黑过,不过我倒想见识下被人黑是什么感觉。今天终于如愿以偿了(^_^) 。 有个客户说他们基于Zen Cart 的一个网店管理员无法登录了,让帮忙重置下密码。我进入Zen Cart的管理员界面,发现那里已经有一个Resend password的功能,可以通过email地址取回密码,我就暗笑。然而客户回复说,填写email了还是没用,而且确定他们的email绝对没错,也一直没有修改过。嗯,那样的话,只能进入DB看看了。在DB中,找到admin表,列出里面的管理员账号,与客户核对,客户一看,不好,那些账号之前都没有的,而他们自己一直用的账号却不见了。难道……?看起来情况不妙。 我继续在DB里面检视,发现还有个admin_activity_log表,不由得赞叹, Zen Cart设计者为我想得真周到!把里面的数据反复浏览,发现有些异常的记录: access_date |admin_id|page_accessed |page_parameters | ip_address ************************************************************************************* ‘2010-05-21 15:24:43’| 0| ‘password_forgotten.php ‘| ‘action=execute&’| ‘118.97.15.19’ ‘2010-05-21 15:25:23’| 0| ‘login.php ‘ | ” | ‘118.97.15.19’ ‘2010-05-21 15:25:51’| 0| ‘login.php … Continue reading

Posted in Security, WEB Application | Tagged , , , | 1 Comment

如何在Joomla Content Editor内添加MSN链接

Add MSN link in TinyMCE based editor Continue reading

Posted in WEB Application | Tagged , | 3 Comments

Display RSS feed in Joomla!

Better not reinvent the wheel Last week, my boss asked me to add a module to show his latest WordPress blog post on our Joomla! site. Then I began to dig google and the Joomla! Extensions Directory for such kind … Continue reading

Posted in Programming, WEB Application | Tagged , | Leave a comment

一些RocketTheme Extensions及其用途

免费Extensions: 1.RokBox 插件: 用于在当前页面打开一个对话框(ajax效果),显示图像,flash,音乐等内容. 2.RokCandy 插件: 类似于BBCode,可以通过简单的宏(macro)调用输出复杂的HTML 3.RokTabs 模块: 用于显示标签式页面 4.RokAjaxSearch 模块: 基于Ajax的搜索框 5.RokSlideshow 模块: 交替显示一些图片,实现幻灯片效果 6.RokBridge 插件: Joomla!与phpbb整合 收费Extensions: 1.RokPad 插件: 编辑器插件,支持语法加亮,AJAX保存等 2.RokStories 模块: 从一系列文章中,每一篇选出一小段摘要文字和图片,以幻灯片效果交替显示 3.RokNavMenu 组件: 用于创建下拉菜单效果,操作简单,效果漂亮.

Posted in WEB Application | Tagged | Leave a comment

一种传递HTTP认证信息的方式

原理: 在HTTP认证(Basic,Digest)中,当浏览器访问受保护的资源时,WEB服务器会返回响应: HTTP/1.1 401 Authorization Required 并在响应头WWW-Authenticate中指明需要的认证方式。之后浏览器向使用计算机的用户 询问用户名和密码,然后将这些信息加密后通过Authorization和其它请求头发送给服务器 如果用户名密码有效,服务器就返回客户请求的资源。客户的所有后续请求也要提供相同的 用户信息(因为HTTP是无状态的) 如果用户名密码无效,服务器会再次返回401代码,然后浏览器再次询问用户。 IE浏览器在用户输入几次错误密码之后放弃,显示服务器返回的401错误页面, Firefox允许用户一直重试,直到密码正确,或者用户点击取消,对话框才会消失,然后 显示401错误页面。 我们不难看出,要想在各个应用或者站点之间传递HTTP认证信息,关键是修改浏览器的 请求,添加Authorization及相关请求头。我们也知道,对浏览器进行操作这样的任务, 只能由客户端代码来完成(Javascript,Flash,Java Applet…)。 在Javascript可用的对象中,XMLHttpRequest直接支持HTTP认证,它会将其open方法中 提供的用户名密码处理后放到Authorization请求头,发给服务器。之后浏览器会记住 这一认证信息并在访问相关资源时自动使用。

Posted in WEB Application | Tagged | Leave a comment