用javascript发送数据,我该怎么做;“保护”;或;加密";信息技术

用javascript发送数据,我该怎么做;“保护”;或;加密";信息技术,javascript,json,Javascript,Json,我被迫通过GET(查询字符串)将数据发送到另一台服务器 For example: http://myserver.com/blah?data=%7B%22date%22%3A%222011-03-01T23%3A46%3A43.707Z%22%2C%22str%22%3A%22test%20string%22%2C%22arr%22%3A%5B%22a%22%2C%22b%22%2C%22c%22%5D%7D 这是一个JSON编码的字符串。然而,任何有半个大脑的人都可以看到这一点,并对其进行

我被迫通过GET(查询字符串)将数据发送到另一台服务器

For example: http://myserver.com/blah?data=%7B%22date%22%3A%222011-03-01T23%3A46%3A43.707Z%22%2C%22str%22%3A%22test%20string%22%2C%22arr%22%3A%5B%22a%22%2C%22b%22%2C%22c%22%5D%7D 
这是一个JSON编码的字符串。然而,任何有半个大脑的人都可以看到这一点,并对其进行解码以获得潜在的数据

  • 我知道查询字符串的长度是有限的
  • 我没有选择使用GET vs PUT/POST
  • 有没有一种方法可以将大量数据编码成一个更短的字符串,然后从服务器上解密?(使用javascript)


    我想HTTPS实际上没有解决这个问题,因为数据在uri中?

    鉴于您的限制,我看到的唯一选择是使用一个类似PGP的方法,其中公钥用于加密数据(然后通过GET发送),私钥用于解密数据。在这一点上,您可能已经忘记了JSON(尽管您当然可以将数据设置为JSON,然后对其进行加密,并将结果作为Base64编码字符串或其他形式发送)。请注意,这并不能保护您免受错误消息的影响(因为公钥是公共的),但它确实意味着,如果没有私钥,人们无法读取传输中的数据。

    HTTPS解决了这一问题——甚至HTTP头中的数据(包括URI)也受到保护,因为整个连接都是通过SSL通道进行的

    有一个例外:如果客户端使用代理,主机名将公开,因为它在连接请求中以明文形式传输。

    • HTTPS确实是一种保护数据的解决方案。 它首先使用IP地址和端口创建到服务器的安全连接(通过TLS)。 -然后,所有HTTP数据包都会通过该连接加密发送。 ()

    • URL长度的实际限制似乎在1000个字符左右 ()

    • 这里有很多压缩片段。。。 ()


    我不确定我是否理解这些要求,但是:PUT/POST在安全性方面没有任何区别:它只是意味着有人会在不同的地方看到它。HTTPS加密连接,而不仅仅是响应。我无法发送PUT/POST请求,因为ajax请求上的域策略相同。我仅限于使用GET请求将数据发送到查询字符串中编码的服务器。+1,附带警告。支持信息:|该信息在某种意义上是安全的,而不是在其他几个意义上。