一、表单数据的提交方式选择
常用的与服务器进行的交互方式是GET和POST(关于两者的区别此处有详细的介绍),而一般在表单的数据提交中,都会选择POST方式,因为使用GET方法数据是通过URL传递的,在地址栏中会直接看到传递的数据,这样就缺少安全性。而使用POST传递时,是把提交的数据放置在HTTP包的包体中,地址栏不会看到数据。但是这样处理就能确保提交数据的安全性吗?
二、web数据传递的不安全性
客户要浏览web网页,都是先连接web服务器,请求该网页文件,下载到本地再由浏览器解释执行最终看到丰富多彩的网页。http协议的这种工作模式,决定了web数据面向客户是开放的,实际http包在网络中也是通过明文传递的,通过一些抓包软件很容易捕捉到http包,自然也能得到用户提交的web数据。如右图是用wireshark抓到人人网登录时传递的数据包,从捕获的数据包中可以发现使用的是post方法提交数据,但从http包的包体中很容易找到提交的账号及密码,这样用户的信息在网络上进行传递时很容易被窃取。
三、用RSA加密web数据
为了提高web数据传递的安全性,故在数据在网络上进行传递之前必须进行加密处理,如使用https进行web数据的完全加密传输,但是因为https是对所有的数据进行加密这样就影响了网页的浏览速率,况且有时只需对关键数据进行加密保护。这时就需要一些小规模的数据加密传输解决方法,此文提供了一种用RSA加密算法加密web数据,具体是在客户端用js脚本使用公钥加密数据,再在服务器端用PHP脚本程序使用私钥解密数据。在这为什么要使用非对称的加密算法RSA,为什么不使用加解密效率更快的对称加密算法如AES,DES,我个人认为是因为对称加密算法加密和解密使用的是同一密钥,而web文件都是下载到本地再解释执行的,这样再客户端的加密脚本程序很容易被用户看到同时也容易泄漏密钥,使用对称加密算法加密的数据也就丧失了安全性,但是使用非对称加密算法,只有私钥能解密出公钥加密的数据,所以只要确保私钥的保密性,就能确保经过公钥加密数据的安全性。
四、完善的加密传输方法
如果使用RSA加密传输web数据,每次会话使用的都是同一密钥对,则可能存在非法用户冒充攻击,非法用户截获到用户向服务器提交的数据,虽是加密后的数据,但非法用户仍然可以直接向服务器POST截获到的加密后的数据,服务器端一但解密验证通过,则非法用户达到冒充合法用户的目的。这就是因为每次会话使用的是同一密钥,使每次登陆时提交的用户数据都是一样的,即使被加密,加密后的数据也是一样的,从而存在非法用户冒充合法用户的可能。解决这个问题的一个好的方法是没次会话使用不同的密钥对,这样即使非法用户再次提交加密后的数据,由于两次会话使用的是不同的密钥对,使得提交的数据在服务器端不能正确解密,从而验证出错。在用户登录时的具体实现是用户在提交数据前客户端先异步请求服务端生成本次会话密钥,并向客户端返回公钥,客户端再用公钥加密数据提交给服务端,服务端用私钥解密验证完后注销此次会话密钥。这样就确保用本次会话公钥加密的数据再次被提交到服务器端时服务端因使用的不是与之配对的私钥,不能解密出正确的数据从而验证失败,有效地避免了非法用户的冒充攻击。
相关推荐
在Web应用中,HTTPS协议就是结合了这两种加密方式,使用RSA进行非对称加密来安全地交换对称加密的密钥,然后用该密钥进行数据的对称加密传输。 HttpWatch是一款强大的HTTP性能分析工具,它可以捕获浏览器发送的HTTP...
在密码加密传输中,jQuery可以用来处理表单提交事件,确保在提交密码时使用Ajax进行加密并发送,而不是明文发送。 4. **Spark-MD5库**:`spark-md5.min.js`可能用于JavaScript环境中的哈希计算。虽然主要应用是...
综上所述,这个"表单RSA加密实例+Struts2"项目旨在展示如何在Struts2框架中结合RSA加密技术,提升表单数据的安全性。通过学习和实践这个项目,开发者可以更好地理解RSA加密原理以及如何在实际Web应用中实施加密策略...
在前后端通信中,使用HTTPS协议是基础,它能确保数据在互联网上进行加密传输。HTTPS结合了HTTP协议和SSL/TLS协议,其中SSL/TLS负责在客户端和服务器之间建立加密通道,保证数据的私密性。当Vue.js发送登录请求到...
在这个"asp数据加密示例"中,我们关注的是如何在ASP环境中处理表单提交的数据,并对其进行加密,以确保信息安全。加密是网络安全的重要组成部分,它可以保护敏感数据免受未经授权的访问或篡改。 在ASP中,数据加密...
为了保护用户的隐私安全,梦行表单采取了多重防护措施,比如数据加密传输、服务器防火墙等,确保每一条提交的信息都能够得到妥善保存。 ### 四、应用场景举例 #### 4.1 市场调研 利用梦行表单可以快速制作出一份...
- 应用同态加密算法对表单数据进行加密后的计算,确保数据在处理过程中保持私密性。 - 引入隐私计算技术,将数据处理和分析过程从集中的服务器分散到分布式网络中,进一步提升隐私保护水平。 #### 基于可验证计算...
在IT行业中,尤其是在Web开发领域,"20080530数据加密图片信息上传保存到数据库全选GridView数据行变色"这个主题涵盖了多个关键知识点,包括数据加密、图片上传、数据库操作以及前端展示的技巧。下面将对这些知识点...
为了保护数据,传输过程应使用HTTPS协议,确保在互联网上传输的数据被加密,防止中间人攻击。 在标签中提到的“javascript”,意味着这里的重点是JavaScript在登录验证和数据传输中的作用。JavaScript不仅可以处理...
2. **数据加密**:对网页内容进行加密,确保在传输过程中不被窃取。这包括对HTTP请求和响应的数据进行加解密,例如表单提交的信息、登录凭据等。 3. **安全协议升级**:自动将用户的HTTP请求重定向到更安全的HTTPS...
在实际开发中,还可以使用HTTPS协议来进一步提高安全性,它结合了SSL/TLS协议,提供了端到端的数据加密,可以防止数据在传输过程中被窃取或篡改。 在JSP页面中,可以创建一个表单让用户选择要上传的文件,然后提交...
DELPHI RAS加密组件不仅适用于本地数据加密,还能应用于网络通信中的数据加密。通过SSL/TLS协议,可以实现安全的数据传输,防止数据在传输过程中被截获或篡改。 6. **源码示例**: 包含的示例代码(假设压缩包内...
在Vue项目中使用jsencrypt.js库对数据进行加密传输是一种有效的手段,保证数据在传输过程中不被轻易截获和篡改。本文将详细介绍在Vue项目中如何利用jsencrypt.js来对数据进行加密。 首先,需要明确加密的目的是确保...
3. 安全性:确保在传输敏感数据时使用HTTPS,以加密通信内容,防止数据被窃取。 4. 释放资源:使用using语句确保HttpClient在完成任务后会被正确地关闭和释放,防止资源泄露。 通过以上内容,你应该对C#中如何使用...
`GET` 方法会将表单数据附加在URL后面,适用于查询参数等简单场景;而`POST` 方法则将数据封装在HTTP请求体中,适用于敏感或复杂的数据传输。 - **`action`属性**:指定了处理表单数据的脚本或页面地址(URL)。当...
2. 数据加密:敏感数据在传输前应进行加密,例如使用AES等算法。PHP端可使用`openssl`扩展进行加密,Android端也有相应的加密库。 3. 验证机制:为了防止非法请求,服务器端通常需要验证请求来源,例如通过API密钥...
在Java开发中,处理POST请求时对参数进行加密,可以有效防止数据在传输过程中被窃取或篡改,从而保护用户隐私和系统安全。 首先,我们了解POST请求的基本概念。POST请求是HTTP协议中的一种方法,用于向服务器发送...
在iOS中,我们可以使用系统提供的`NSURLConnection`或`NSURLSession`来处理HTTPS请求,它们会自动处理证书验证和数据加密。 加密解密操作通常涉及对传输数据的保护。常见的加密算法有AES(Advanced Encryption ...
3. **加密数据**:使用RijndaelManaged对象的CreateEncryptor方法生成加密器,然后调用加密器的TransformFinalBlock方法对表单字段的敏感数据进行加密。加密后的数据通常是以Base64编码的字符串形式存储,方便在网络...