Web应用的评测清单

有人说,只需24小时你就可以完成一个网站,并且开始做生意。建立Web站点已经变得像搭积木一样简单:在WordPress、Discuz、UCenter Home、ShopEx等常用建站程序选择一个(或者多个),能让你在3分钟之内创建一个可以运行的Web站点;然后,你可以用剩下的23小时57分钟安装插件、修改模板、发布内容,实现更丰富的功能。

不过,这些“积木”并不一定能满足你的目的。很多情况下,你需要自己(或者请人)开发一块新的“积木”——编写网站程序。至少,你也得对某些“积木”进行一定的修改和扩充,来满足你网站的特殊需求。

当你的网站并不完全由常用建站程序组成时,Web站点的质量就是一个必须关注的问题了。

Web站点的质量包括哪些方面?

我认为,制作一个网站,必须关注的质量问题,至少包括下面这些:

  1. 功能,内容
  2. 用户体验,可用性
  3. 安全性
  4. 性能
  5. 外观
  6. 搜索引擎收录

下面,我将对如何判定一个网站是否达到了各方面的要求做一定的阐述。

1 功能,内容

建立网站最根本的目的通常都是两种之一:提供一定的功能,发布一定的内容。当然,网站是多种多样的,很多网站同时具有这两个目的,或者还有其他目的。

功能型网站的评测

“OK卡会员俱乐部”网站提供了在线缴付上海市公用事业费用的功能。评测这个网站,则应当根据网站的流程提示,完成一次缴费过程。只要过程能成功完成(不论采取什么方式),基本功能就得到了满足。

内容型网站的评测

阅读网站的内容,检查如下项目:

  1. 文章是否与网站主题相关?
  2. 是否有至少20%的原创内容?内容型网站的宗旨应该是为用户提供新颖而独特的内容,而不是垃圾收集站。
  3. 文章的排版是否条理清晰、赏心悦目?
  4. 有没有错别字、语法错误、句子不通等现象?不写错别字是一种态度

2 用户体验,可用性

用户体验:简称UE,是人机交互学在Web界面设计领域的应用。可用性是用户体验最重要的方面之一。

用户体验的评测

用户体验是一个很大的话题。因此,我只能列出一些最基本的条目,用于评测时参考。

  1. 让用户随时了解系统的状态
  2. 系统应与真实世界相符合
  3. 给予用户控制权和自主权
  4. 提倡一致性和标准化
  5. 帮助用户识别、诊断和修复错误
  6. 预防错误
  7. 依赖识别而不是记忆
  8. 强调使用的灵活性及有效性
  9. 最小化设计
  10. 提供帮助及文档

更详细的内容,我推荐两本书:《就这么简单》、《Web设计大全

可用性的评测

  1. 用IE8、IE7、IE6、Firefox3、Opera、Chrome、iPhone访问你的网站,所有功能是否都能操作、所有内容是否都能阅读?
  2. 打开弹出窗口阻止器、广告拦截等插件,所有功能是否都能操作、所有内容是否都能阅读?
  3. 禁止图片,所有功能是否都能操作、所有内容是否都能阅读?
  4. 禁止FLASH等一切插件,所有功能是否都能操作、所有内容是否都能阅读?
  5. 禁止JavaScript,所有功能是否都能操作、所有内容是否都能阅读?

3 安全性

网站的安全性,主要是指使网站能够连续无故障运行的保证。

网站存在的安全漏洞有几大类:威胁服务器的漏洞,威胁其他访问者的漏洞,内容安全问题。

常见安全漏洞及评测

SQL注入

危害:攻击者可以在数据库中查看、添加、修改、删除任意数据,可能包括其他用户及管理员的密码和隐私信息

评测:对每一个输入参数(包括URL参数、POST字段、cookies,也包括注册的用户名、电子邮件地址等一切可以填写的地方),添加字符'并检查是否出现了数据库异常信息。

权限控制不严

危害:攻击者可以以其他用户或管理员的身份执行某些操作,例如上传一个可执行文件到服务器

评测:不登录、或者以普通用户登录,通过直接访问管理链接、修改cookie后访问管理链接等方法,检查是否能以其他用户身份执行操作。

XSS跨站脚本

危害:使其他用户感染病毒

评测:在注册用户名、标题、正文、帖子、URL参数等处,输入>sunny"。访问能显示这些信息的页面,查看HTML源代码;如果HTML源代码中包含输入的字串,则漏洞存在。

欺骗重定向

危害:将其他用户引导到恶意站点并感染病毒

评测:寻找网站中是否存在类似redirect.asp?url=...这样的链接,并尝试修改参数为另一个网站;如果能成功跳转到另一个网站,则漏洞存在。

日志暴露

危害:攻击者通过下载日志获取敏感信息

评测:如果网站目录内存在日志文件,则漏洞存在。

密码窃听

危害:截取其他用户的密码

评测:如果网站需要登录,输入密码后的提交地址如果不是https,则漏洞存在。

4 性能

高性能的Web应用可以节省服务器CPU和带宽占用,降低运行成本。

性能的评测

  1. 通过Fiddler访问网站的某个页面,观察HTTP请求统计数据。HTTP请求数应该控制在20个以内,总文件大小应当控制在600kb以内,宽带接入时总时间应当控制在30秒以内。
  2. 如果使用第三方JavaScript库(如Prototype、jQuery),或者自己写了超过20kb且很少修改的JavaScript文件,这些文件应当使用JSMin或YUI Compressor压缩。不过,我不建议使用packer,因为它会增加客户端解压缩的时间。
  3. 控制图片和Flash的使用,能使用XHTML+CSS完成的效果就不要用图片,能使用图片或JavaScript完成的效果就不要用Flash。

5 外观

外观也是一个很大的话题。对此我没有多少经验,因此不作介绍。

可用性比外观设计更为重要。

6 搜索引擎友好

搜索引擎是几乎所有内容型网站、以及大部分功能型网站的主要推广渠道。为了让搜索引擎更好的收录你的网站,你应该使网站对搜索引擎友好。

搜索引擎友好的评测

  1. 提供独特的功能和内容;内容型网站至少要有20%的原创内容
  2. 浏览器标题栏中不允许出现“无标题文件”、“Untitled Document”
  3. title、meta keyword、meta description、h1等标签内容要与当前页面主要内容有关,而不是全站统一
  4. 如果没有特殊理由,所有页面都应该在The W3C Markup Validation Service通过验证
  5. 导航条必须使用a标签制作
  6. 所有非装饰性图片都要有alt标签写明其内容

小结

以上给出了评测Web站点的一些方法,都是本人经验之谈。此外,我承认,我的网站也需要改进。

Tags: web