网站的安全非常重要,如果您的网站中存在需要授权才能访问的内容,保护好这些内容是您的责任,使用安全的数据库技术,对关键数据进行加密,过滤用户上传的数据是保证网站安全的重要途径。网站安全性遵从以下规则:
使用安全的数据库技术
目前主流的数据库技术包括 MS SQL Server, Oracle, IBM DB2, MySQL, PostgreSQL,其中 MySQL 和 PostgreSQL 属于开源数据库,其它三种数据库根据不同许可方式有不同的价格。考虑到安全,它们都是非常安全的数据库技术,需要注意的是,我们并不建议采用 Access,首先 Access 是一种桌面数据库,并不适合可能面临海量访问的企业网站,其次,Access 是一种非常不安全的网站数据库,如果您的 Access 数据库文件的路径被获取,人们很容易将这个数据库文件下载下来并看到数据库内的一切内容,包括需要授权才能看到的内容。如果您选择 Access 的原因是因为它免费,您需要知道 MSDE 也是免费的。
用户密码或其它机密数据必须用成熟加密技术加密后再存放到数据库
使用明文在数据库中存储用户密码,信用卡号等数据是非常危险的,即使您使用的是非常安全的数据库技术,仍然要非常谨慎,任何机密数据都应该加密存储,这样即使您的数据库被攻破,那些重要的机密数据仍然是安全的。
密码或其它机密数据必须用成熟加密技术加密后才能通过表单传递
如果您的网站没有使用 HTTPS 加密技术,那您的网站服务器和访问客户之间的所有数据都是以明文传输的,这些数据很容易在交换机和路由器节点的位置被截获,如果您无法部署 HTTPS,将所有机密数据加密后再通过网络传播是非常有效的办法
密码或其它机密数据必须用成熟加密技术加密后才能写入 Cookie
很多网站将用户帐户信息写到 Cookie 中,以便用户下次访问时可以直接登陆。如果用户帐户信息未经加密直接写到 Cookie 中,这些数据很容易通过查看 Cookie 文件获得,尤其当您的用户是和别人共用电脑的时候。
对于访问者提交的任何数据,都要进行恶意代码检查
虽然我们要信任用户,但在网络中,我们必须假设所有用户都是危险的,如果您不对他们提交的数据进行检查,就可能出现 SQL Injection, Cross-site scripting 等安全问题。
网站必须有安全备份和恢复机制
任何网站都可能发生硬件或软件灾难,导致您的网站丢失数据,您必须根据您网站的规模和更新周期,定期对网站进行安全备份,在灾难性事故发生以后,您的备份恢复机制需要在很短的时间内将整个网站恢复。需要注意的是,您一定要对您的备份恢复机制进行测试,保证您的备份数据是正确的。
网站的错误信息必须经过处理后再输出
错误消息常常包含非常可怕的技术细节,帮助黑客攻破您的网站,您应当对网站底层程序的错误消息进行处理,防止那些调试信息,技术细节暴露给普通访问者。
如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛