有人说,只需24小时你就可以完成一个网站,并且开始做生意。建立Web站点已经变得像搭积木一样简单:在WordPress、Discuz、UCenter Home、ShopEx等常用建站程序选择一个(或者多个),能让你在3分钟之内创建一个可以运行的Web站点;然后,你可以用剩下的23小时57分钟安装插件、修改模板、发布内容,实现更丰富的功能。
不过,这些“积木”并不一定能满足你的目的。很多情况下,你需要自己(或者请人)开发一块新的“积木”——编写网站程序。至少,你也得对某些“积木”进行一定的修改和扩充,来满足你网站的特殊需求。
当你的网站并不完全由常用建站程序组成时,Web站点的质量就是一个必须关注的问题了。
Web站点的质量包括哪些方面?
我认为,制作一个网站,必须关注的质量问题,至少包括下面这些:
- 功能,内容
- 用户体验,可用性
- 安全性
- 性能
- 外观
- 搜索引擎收录
下面,我将对如何判定一个网站是否达到了各方面的要求做一定的阐述。
1 功能,内容
建立网站最根本的目的通常都是两种之一:提供一定的功能,发布一定的内容。当然,网站是多种多样的,很多网站同时具有这两个目的,或者还有其他目的。
功能型网站的评测
“OK卡会员俱乐部”网站提供了在线缴付上海市公用事业费用的功能。评测这个网站,则应当根据网站的流程提示,完成一次缴费过程。只要过程能成功完成(不论采取什么方式),基本功能就得到了满足。
内容型网站的评测
阅读网站的内容,检查如下项目:
- 文章是否与网站主题相关?
- 是否有至少20%的原创内容?内容型网站的宗旨应该是为用户提供新颖而独特的内容,而不是垃圾收集站。
- 文章的排版是否条理清晰、赏心悦目?
- 有没有错别字、语法错误、句子不通等现象?不写错别字是一种态度
2 用户体验,可用性
用户体验:简称UE,是人机交互学在Web界面设计领域的应用。可用性是用户体验最重要的方面之一。
用户体验的评测
用户体验是一个很大的话题。因此,我只能列出一些最基本的条目,用于评测时参考。
- 让用户随时了解系统的状态
- 系统应与真实世界相符合
- 给予用户控制权和自主权
- 提倡一致性和标准化
- 帮助用户识别、诊断和修复错误
- 预防错误
- 依赖识别而不是记忆
- 强调使用的灵活性及有效性
- 最小化设计
- 提供帮助及文档
更详细的内容,我推荐两本书:《就这么简单》、《Web设计大全》
可用性的评测
- 用IE8、IE7、IE6、Firefox3、Opera、Chrome、iPhone访问你的网站,所有功能是否都能操作、所有内容是否都能阅读?
- 打开弹出窗口阻止器、广告拦截等插件,所有功能是否都能操作、所有内容是否都能阅读?
- 禁止图片,所有功能是否都能操作、所有内容是否都能阅读?
- 禁止FLASH等一切插件,所有功能是否都能操作、所有内容是否都能阅读?
- 禁止JavaScript,所有功能是否都能操作、所有内容是否都能阅读?
3 安全性
网站的安全性,主要是指使网站能够连续无故障运行的保证。
网站存在的安全漏洞有几大类:威胁服务器的漏洞,威胁其他访问者的漏洞,内容安全问题。
常见安全漏洞及评测
SQL注入
危害:攻击者可以在数据库中查看、添加、修改、删除任意数据,可能包括其他用户及管理员的密码和隐私信息
评测:对每一个输入参数(包括URL参数、POST字段、cookies,也包括注册的用户名、电子邮件地址等一切可以填写的地方),添加字符'
并检查是否出现了数据库异常信息。
权限控制不严
危害:攻击者可以以其他用户或管理员的身份执行某些操作,例如上传一个可执行文件到服务器
评测:不登录、或者以普通用户登录,通过直接访问管理链接、修改cookie后访问管理链接等方法,检查是否能以其他用户身份执行操作。
XSS跨站脚本
危害:使其他用户感染病毒
评测:在注册用户名、标题、正文、帖子、URL参数等处,输入>sunny"
。访问能显示这些信息的页面,查看HTML源代码;如果HTML源代码中包含输入的字串,则漏洞存在。
欺骗重定向
危害:将其他用户引导到恶意站点并感染病毒
评测:寻找网站中是否存在类似redirect.asp?url=...
这样的链接,并尝试修改参数为另一个网站;如果能成功跳转到另一个网站,则漏洞存在。
日志暴露
危害:攻击者通过下载日志获取敏感信息
评测:如果网站目录内存在日志文件,则漏洞存在。
密码窃听
危害:截取其他用户的密码
评测:如果网站需要登录,输入密码后的提交地址如果不是https,则漏洞存在。
4 性能
高性能的Web应用可以节省服务器CPU和带宽占用,降低运行成本。
性能的评测
- 通过Fiddler访问网站的某个页面,观察HTTP请求统计数据。HTTP请求数应该控制在20个以内,总文件大小应当控制在600kb以内,宽带接入时总时间应当控制在30秒以内。
- 如果使用第三方JavaScript库(如Prototype、jQuery),或者自己写了超过20kb且很少修改的JavaScript文件,这些文件应当使用JSMin或YUI Compressor压缩。不过,我不建议使用packer,因为它会增加客户端解压缩的时间。
- 控制图片和Flash的使用,能使用XHTML+CSS完成的效果就不要用图片,能使用图片或JavaScript完成的效果就不要用Flash。
5 外观
外观也是一个很大的话题。对此我没有多少经验,因此不作介绍。
可用性比外观设计更为重要。
6 搜索引擎友好
搜索引擎是几乎所有内容型网站、以及大部分功能型网站的主要推广渠道。为了让搜索引擎更好的收录你的网站,你应该使网站对搜索引擎友好。
搜索引擎友好的评测
- 提供独特的功能和内容;内容型网站至少要有20%的原创内容
- 浏览器标题栏中不允许出现“无标题文件”、“Untitled Document”
- title、meta keyword、meta description、h1等标签内容要与当前页面主要内容有关,而不是全站统一
- 如果没有特殊理由,所有页面都应该在The W3C Markup Validation Service通过验证
- 导航条必须使用a标签制作
- 所有非装饰性图片都要有alt标签写明其内容
小结
以上给出了评测Web站点的一些方法,都是本人经验之谈。此外,我承认,我的网站也需要改进。