https页面与Http页面自动切换-SSL解决方案[转]

简介:
出处: http://www.cnblogs.com/ywqu

一、背景资料

二、解决方案

1、原理

2、效果预览

三、源码分析

四、使用方式

1、添加程序集到Bin文件夹

2、配置Web.Config

五、总结

 

 

一、背景资料

安全套接层协议(SSLSecurity Socket Layer)基于WEB应用的安全协议,它包括:服务器认证、客户认证(可选)、SSL链路上的数据完整性和SSL链路上的数据保密性。SSL主要使用公开密钥体制和X.509数字证书技术保护信息传输的机密性和完整性,它不能保证信息的不可抵赖性,主要适用于点对点之间的信息传输,常用Web Server方式。

 

SSL安全协议主要提供三方面的服务:
    1 认证用户和服务器使得它们能够确信数据将被发送到正确的客户机和服务器上; 
    2 加密数据以隐藏被传送的数据;
    3 维护数据的完整性确保数据在传输过程中不被改变。 

 

对于电子商务应用来说,使用SSL可保证信息的真实性、完整性和保密性

电子商务网站中,有的页面需要SSL,有的页面不需要SSL,那我们如何能够自动快速在HTTPSHTTP之间切换呢?

二、解决方案

1、原理

       实现IHttpModule接口

2、效果预览

HTTP页面

 

点击Login.aspx超链接 自动跳转到Https页面,如下图

 

点击Contact.aspx链接 又自动切换为http页面,如下图

 

三、源码分析

使用第三方程序集 WebPageSecurity.dll

四、使用方式

1、添加程序集到Bin文件夹

添加程序集WebPageSecurity.dllBin文件夹

2、配置Web.Config

Ø         < configSections >节点下加入以下配置

 

<section name="secureWebPages"

 type="Ventaur.Web.Security.Configuration.SecureWebPageSettings, WebPageSecurity"/>

 

Ø         <configuration>节点下加入以下配置:

 

<secureWebPages mode="RemoteOnlyignoreHandlers="WithStandardExtensions">

       <files>

           <add path="Login.aspx" />

           <add path="Legal/Privacy.aspx" />

           <add path="Legal/Copyright.aspxsecure="Ignore" />

       </files>

       <directories>

           <!--<add path="/" recurse="True" />-->

           <add path="Adminrecurse="True" />

           <add path="Admin/Info/secure="Insecure" />

       </directories>

   </secureWebPages>

 

Ø        属性解释

 

mode

On (Default)

来自各个方向的请求使用SSL

RemoteOnly

来自于远程客户的请求使用SSL 网站部署到服务器上使用此属性

LocalOnly

本地调试时使用

Off

SSL不可用

 

<files>节点下的超链接 默认是使用SSL加密的。 也可对目录进行加密,也可对某一文件夹下的文件不使用SSL加密(如上配置节)。

 

Ø         添加ModuleApplication

 

<httpModules>节点下加入以下配置

<add name="WebPageSecurity"

 type="Ventaur.Web.Security.SecureWebPageModule, WebPageSecurity" />

     

Ø         新建基类BasePage.cs 让所有的aspx页面继承于BasePage

 

BasePage.cs代码如下

五、总结

       至此,无需在IIS上对每个页面进行配置,SSL加密页面与非SSL页面就可以自动转换了。特别是对于有大量SSL页面的时候,此解决方案可供选择。

源代码下载:http://files.cnblogs.com/ywqu/WebPageSecurity_v2_Demo_v31.rar

原文地址:http://www.codeproject.com/KB/aspnet/WebPageSecurity.aspx

 

欢迎加群互相学习,共同进步。QQ群:iOS: 58099570 | Android: 572064792 | Nodejs:329118122 做人要厚道,转载请注明出处!














本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/sunshine-anycall/archive/2009/11/30/1613516.html ,如需转载请自行联系原作者


相关文章
|
1月前
|
缓存 安全 网络协议
一起深入了解http和https的区别
HTTP适合于非敏感信息的传输,而HTTPS则是在要求安全性、隐私保护及信任机制的现代互联网环境中不可或缺的标准配置。随着网络安全意识的提高和技术的发展,越来越多的网站和服务都转向使用HTTPS,力求在提供便捷服务的同时保障用户数据的安全。HTTPS将成为未来的基本选择。
41 0
一起深入了解http和https的区别
|
1天前
|
安全 Go
解决https页面加载http资源报错
请注意,混合内容可能导致安全性问题,因此在使用上述方法时要小心。最好的方式是尽量减少或完全消除混合内容,以确保页面的安全性。
4 0
|
6天前
|
网络协议 网络安全 数据安全/隐私保护
http和https的区别!
http和https的区别!
|
9天前
|
网络协议 安全 API
Android网络和数据交互: 什么是HTTP和HTTPS?在Android中如何进行网络请求?
HTTP和HTTPS是网络数据传输协议,HTTP基于TCP/IP,简单快速,HTTPS则是加密的HTTP,确保数据安全。在Android中,过去常用HttpURLConnection和HttpClient,但HttpClient自Android 6.0起被移除。现在推荐使用支持TLS、流式上传下载、超时配置等特性的HttpsURLConnection进行网络请求。
9 0
|
12天前
|
缓存 安全 网络协议
【面试必备】HTTP和HTTPS是什么?有什么差异?
HTTP(超文本传输协议)和HTTPS(超文本传输安全协议)是用于在互联网上传输数据的协议。它们都是应用层协议,建立在TCP/IP协议栈之上,用于客户端(如浏览器)和服务器之间的通信。
18 2
|
27天前
|
前端开发 应用服务中间件 网络安全
http转为https,ssl证书安装及nginx配置
http转为https,ssl证书安装及nginx配置
43 1
|
28天前
|
安全 数据安全/隐私保护
深入解析:HTTP和HTTPS的三次握手与四次挥手
在这些握手和挥手过程中,双方交换信息,协商参数,建立或关闭连接,以保证数据的可靠传输。HTTPS在此基础上加入了数字证书验证和加密通信,增加了安全性。这些步骤确保了HTTP和HTTPS协议的通信过程的稳定和安全。
115 0
|
1月前
|
数据采集 缓存 前端开发
http和https请求服务器的时候在请求头部分都带什么到服务器呢?
HTTP和HTTPS请求头基本结构相似,HTTPS多了一层SSL/TLS加密。常见请求头如Accept(指定内容类型)、Authorization(身份验证)、Cookie(会话跟踪)、User-Agent(标识用户代理)等。HTTPS特有的头包括Upgrade-Insecure-Requests(升级到HTTPS)、Strict-Transport-Security(强制使用HTTPS)、Sec-Fetch-*(安全策略)和X-Content-Type-Options、X-Frame-Options等(增强安全性)。实际应用中,请求头会根据需求和安全策略变化。
20 0
|
1月前
|
机器学习/深度学习 人工智能 监控
视觉智能平台常见问题之http转https便捷的转换如何解决
视觉智能平台是利用机器学习和图像处理技术,提供图像识别、视频分析等智能视觉服务的平台;本合集针对该平台在使用中遇到的常见问题进行了收集和解答,以帮助开发者和企业用户在整合和部署视觉智能解决方案时,能够更快地定位问题并找到有效的解决策略。
21 0