php的filter扩展小技巧

做为一个合格的web开发人员,一定会牢记一个原则——永远不能相信用户输入的数据,行走江湖,安全第一是很重要的。用户通过表单或url传过来的数据,一定要仔细检查过了,才往后台数据库里存进去。在一个成熟的开发团队里,贯彻这个原则不成问题;但是如果在一个新人老手混搭的小team里,很容易就忽视了这个问题,那么各种安全漏洞比如跨站攻击,sql注入等等真是防不胜防。 实际上,用php 5自带的filter扩展能够较好的解决这个问题。我在从前的blog里记录了filter扩展的常规用法——直接利用filter来校验数据,这样有不少额外的代码量,所以我得介绍一个比较偷懒的办法——自动对所有输入变量进行过滤,这只需要对php.ini增加一行配置,然后重启apache或fastcgi让php配置生效。 filter.default=”special_chars” 开启了这项配置后,会自动使用filter_input方法对$_GET, $_POST, $_COOKIE, $_REQUEST以及$_SERVER变量进行过滤转义。配置中special_chars是常量FILTER_SANITIZE_SPECIAL_CHARS的缩写,它能自动转义大部分危险字符例如: '"<>。而php手册对它的解释是: HTML-escape ‘”& and characters with ASCII value less than 32, optionally strip or encode other special characters. 在这个情况下,新人们写出这样的代码我也不会太担心: $foo = $_GET[‘foo’]; echo $foo; 在部分场合,我们可能还是需要未转义的变量,比如某个ajax接受的参数是一段json串,用这段代码即可获得原始数据: $foo = filter_input (INPUT_GET, ‘foo’, FILTER_UNSAFE_RAW); fitler扩展与yahoo使用的yiv如出一辙,印象里似乎就是yahoo对yiv做了些修改贡献给php社区,但是暂时没找到出处。

Yahoo yui host提供combo handler服务

Yahoo之前提供了公开的YUI Hosting,现在又在这个基础上进一步提供了combo handler服务。这项服务的目的是尽可能减少http请求的数目,以提高web前端的展现速度,这也是高性能网页开发的14条军规之首。 此前,如果要使用YUI Rich Text Editor,需要引用若干外部js。共计6个http请求。 如果使用combo handler,那么http请求数可以合并成一个,如下: 可惜这个host在国外,对国内的yui用户来说,没有什么帮助。

使用yahoo pipes烧制RSS集合

看着Google Reader里日益庞大的rss清单,大量的内容一个个浮上来,却没得时间一一细看,这里头实在是有很多我不希望看到的内容存在。若是取消订阅,又显得可惜。 因此我是迫切希望有一个RSS过滤网,滤掉部分内容再仔细阅读。前阵子也花了点时间写了个小小的rss过滤程序,写了一半因为时间关系暂时搁置。这时候想起pipes.yahoo.com似乎能实现类似功能,下边就用pipes烧了几个平常看的rss,然后用Google Reader重新订阅,效果倒也不错。 pipes http://pipes.yahoo.com/fronend/devel pipes现在可以支持自定义url了,所以你才可以看到这么短的一个pipes url。根据我的观察,发现要输出较短的rss url也不是难事,如下: http://pipes.yahoo.com/fronend/devel?_render=rss BTW:在烧制rss的过程中,有部分utf-8的内容显示为乱码,只要用feedsky先处理一遍,然后加到pipes里头就正常了。

如何去除雅虎通9.0 beta自带的广告

不请自来的广告总是不招人待见的,在安装了雅虎通9.0 beta之后,越发对这东东最下方的广告感到厌恶,所以我想方设法找一些能去掉广告的办法。虽然说总是能搜到一些去除广告的patch,但是莫名其妙的来自某个山寨的patch可能比不请自来的广告更加危险,所以我还是希望能手动解决这个问题。 For Windows XP用户 确定你的雅虎通安装目录所在的磁盘是ntfs格式 确保雅虎通不在运行状态 编辑C:\Program Files\Yahoo!\Messenger\Cache\下的urls.xml,删除其中的广告行(Messenger Ad和Idle Messenger Ad),保存并关闭。 右键点击urls.xml,查看属性,设置为只读 选择安全->高级(若文件夹属性窗口中没有发现“安全”选项卡时,你只要在资源管理器窗口中,选择“工具→文件夹选项”命令,在弹出的窗口中选择“查看”选项卡,然后将“高级设置”列表中的“使用简单文件共享”复选框的勾选标记去掉即可。) 去除所有用户的全部权限,保证urls.xml是只读的 启动雅虎通,这个时候应该没有广告了 For Windows Vista x32用户 未经测试,但是觉得很有趣,围死它用户可以试试。 删除C:\Program Files\Yahoo!\Messenger\Cache目录下的urls.xml文件,然后创建一个名为urls.xml的空目录,重新启动雅虎通就没有广告了。

YUI 2.5.0发布

YUI 2.5.0发布。 2月20日,YUI Team发布了YUI的最新版本2.5.0。增加了6个全新的组件:Layout Manager, Uploader(结合Flash和Javascript的多文件上传引擎), Resize Utility, ImageCropper, Cookie Utility和ProfilerViewer Control。同时这一版还提升了DataTable Control的功能和Slider Control增加了双滑块功能。 这个版本中的Uploader以及ImageCropper应该是相当有用的控件 Uploader采用javascript和flash,不仅支持多文件上传,更可以直观的查看上传进度,以前虽然有类似的代码,但是组件化的代码显然通用性和可用性更好。 ImageCroper可用于制作图片切片,基于YUI的Dragdrop和Resize 与YUI 2.5.0相关的链接 http://developer.yahoo.com/yui yuiblog.cn

YUI中国本地版

去年yahoo提供了公开的yui主机,这样即便自己没有server也可以直接使用yui的便利。但是由于主机在国外,访问速度不是很理想。现在终于有了本地版的yui hosting,访问速度有大的飞跃。 2008年1月14日雅虎中国正式发布本地版的YUI 2.4.1,今后将与YUI保持同步更新。这对国内的YUI使用者来说绝对是一个好消息,本地版的YUI采用了本地CDN部署,对于国内用户来说访问速度更快(图一),比较访问国际YUI主机的速度(图二)快了至少5倍以上。 使用firebug查看载入速度 原文:YUI Blog China

话说“yahoo低价域名”的续费

去年在Yahoo的small business以低价购入一个域名,当时的打折价是1.9$,觉得非常超值。 一转眼,一年的时间过去了。早在一个月以前,我就开始琢磨过续费的事情怎么处理。有三条出路: 放弃域名,不要了 转到国内的某些域名机构,享受中国国情的域名待遇 直接在yahoo续费 第一个法子那是开玩笑,当不得真。如果选第二条,大概续费的费用会少一些,一年的费用是60¥,但是随之而来的问题就是备案啊,如果有论坛程序,就得被和谐啦,这也是很让我抓头的一件事情。第三个,最简单,Yahoo会直接从信用卡里扣除续费的费用,大概是10$左右,是要贵上那么一点,但是考虑到最近的人民币升值,这个压力似乎也不是太大,而且关键是很省心,无限二级域名,备案嘛,这个事情以后再说。 小九九算了老半天,最后还是选择了第三个方案。今天上网上银行看了看,10$被自动扣除,一点也不心疼。

Yahoo搜索大变形

昨天听说yahoo搜索大变形,跑去试了一下,果然有不同的感受。首页就不说啦,没啥值得浪费口水的,搜索结果页面有巨大变化: 每次只显示五条结果 翻页放在右侧纵向排列 左青龙(相关搜索词)右白虎(图片,音乐,博客等相关)内容在中间 让人惊讶的是翻页非常快,点点就出来了,我要是用鼠标在右边翻页一直点下去咋办?那会没完。祭出firebug窥探之,每一次翻页均会有一个ajax提交: POST http://www.yahoo.cn/data:foo (656ms) 正如我们看到的,post方式的提交,返回了一堆乱遭遭的数据,以我有限的知识看来,这八成是json格式。翻页还支持快捷键,j/k 控制上下翻,八成是vim的爱好者干的好事,没说的。 用着挺爽

我使用的firefox插件

FireGestures 鼠标手势,感觉像用鼠标来搓拳皇的招式。一鼠在手,江山我有。All-in-one Gestures的替代插件 Easy DragToGo Super Drag And Drop的替代插件,不仅能够拖动链接,还能在网页上选取一些词直接拖到搜索框里。见Easy DragToGo — Super Drag and Drop的替代品 Stylish Stylish is a Firefox, Thunderbird, Flock, SeaMonkey, Mozilla Suite, and Songbird extension that allows easy management of user styles. User styles empower your browsing experience by letting you fix ugly sites, customize the look of your browser or mail […]

yahoo的低价域名

yahoo的smalllbusiness经常会弄一段时间的低价域名,比如说现在申请域名是: Get a Domain Now $9.95 $1.99/1st yr (Discount for new customers only) 1.99刀第一年,折合人民币16块,基本上就是白菜价销售了。在google上搜索了一把,yahoo低价域名的转出也有有章法可询,于是抓紧时间动用老婆的招行信用卡申请了一个,第二天就生效了。 象我这等小民,一方面高兴省下了若干人民币,另一方面很奇怪象他们为什么会做这种无利润的销售活动呢?下午逛了一圈超市,超市内打了很多特价牌,路上碰到的大姑大婶似乎都是冲着周日这特价来的,超市内当真是一片繁荣景象,收银台排起了长队。突然有些恍然,莫非yahoo也是用的类似的低价策略,抛出一些利润本来就不大的域名,然后带动它的其它产品销售,如web hosting之类的。 商人果然是狡猾的。