5、使用具有ssl技术
ssl是英文server side includes的缩写。使用具有ssl(安全套接字协议层)功能的web服务器,可以不用改变一行代码而提高网站的安全性能。ssl使用加密方法来保护web服务器和浏览器之间的信息流。ssl不仅用于加密在互联网上传递的数据流,而且还提供双方身份验证。
这样,你就可以安全地在线购物而不必担心别人矢随你的信用卡的信息。这种特性使得ssl适用于那些交换重要信息的地方,像电子商务和基于web的邮件。
ssl使用公共密钥加密技术,服务器在连接结束时给客户端发送公用密钥用来加密信息,而加密的信息只有服务器用它自己持有的专用密钥才能解开。客户端用公用密钥加密数据,并且发送给服务端自己的密钥,以唯一确定自己,防止在系统两端之间有人冒充服务端或客户端进行欺骗。
加密的http连接用443端口号代替80端口号,以区别于普通的不加密的http。客户端使用加密http连接时会自动使用443端口而不是80端口。这使得服务端更容易作出相应的响应。
在apache服务器下,可以通过直接编辑服务器配置文件或者在需要使用ssi的目录中创建.htaccess文件来启动ssl。登录到服务器,找到配置文件的存放目录,使用文字编辑器打开文件srm.conf,找到以下几行:
|
将以addtype开头的两行并且去掉每一行最前面的”#”符号即可。保存所做的修改,然后再打开文件access.conf。
|
将其中的options indexes followsymlinks改为:options indexes followsymlinks includes 即可。
例子:如何建立一个仅接受强加密请求的ssl服务器,而又允许对外浏览器使用更强的加密?
这个功能被称为以服务器为网关的加密(server gated cryptography [sgc]), 在readme.globalid文档中有详细说明。简单地说就是:服务器拥有一个由来自verisign的一个特殊的ca证书签发的服务器身份证, 从而在对外浏览器上实现强加密。
其过程如下:
浏览器使用对外密码进行连接,服务器返回其全局id身份证,浏览器校验后在后继http通讯产生之前提升其密码组。
现在的问题是:如何允许这样的提升,而又强制性地使用强加密。换句话说就是:浏览器必须在开始连接时就使用强加密,或者提升倒强加密,但是维持对外密码是不允许的。以下巧妙地解决了这个问题:
|