不使用https保护我的数据

时间:2015-09-17 14:14:52

标签: asp.net .net asp.net-mvc https asp.net-mvc-5

我使用asp.net mvc -5 web应用程序构建面向公众的网站。现在该网站是公开的,因此无需提供https。但我有一个联系我们表格,用户可以在其中提交消息以及他们的姓名,电子邮件和/或电话号码。所以这些信息可能会被认为是某种方式的敏感信息。但我不想只为这个表单实现安全证书。所以我的问题是,如果他们是一种方法来确保联系我们表单提交而不使用https?手动加密等等解密提交的表格?

3 个答案:

答案 0 :(得分:0)

您可以在客户端实现某种加密。有关可能有用的库,请参阅https://gist.github.com/jo/8619441

您需要提出一种在客户端和服务器之间共享密钥的方法,以及在服务器端实现解密。

答案 1 :(得分:-1)

您可以在客户端上使用此lib进行RSA加密 https://github.com/travist/jsencrypt 只需生成Public \ Private密钥对,将公钥插入网页(不要插入私钥!),在客户端加密:

var encrypt = new JSEncrypt();
encrypt.setPublicKey(yourpublickeyvariable);
var encrypteddata = encrypt.encrypt(datatosend);

其中datatosend只是你的param \值的串联(除以在服务器上拆分的某个字符)

然后在服务器上,您可以使用RSACryptoServiceProvider来解密数据

答案 2 :(得分:-1)

要安全地发送联系人,需要两件事:

  • 在以只有您的服务器可以解密的方式发送之前加密数据
  • 将其发送到您的服务器

因此,当然,您可以使用javascript加密数据并将其加密发送到您的服务器,但无法安全地执行此操作

您首先需要一种验证服务器的方法。 HTTPS使用证书颁发机构的概念来实现。它并不完美,但总比没有好。

如果您不想仅使用https 表单,那就可以了:只需将它用于整个网站! 然后,您可以安全地发送数据,保护访问者的隐私,防止ISP在您的网站中注入广告,如果您使用http2,甚至比http更快。