Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript SSL为web服务提供了哪些保护?_Javascript_Json_Ssl_Https_Fiddler - Fatal编程技术网

Javascript SSL为web服务提供了哪些保护?

Javascript SSL为web服务提供了哪些保护?,javascript,json,ssl,https,fiddler,Javascript,Json,Ssl,Https,Fiddler,我有一个ASP.NET网站,大量使用JSON服务。基本结构是:jQuery插件->JSON服务->服务器端BAL 但是,这种解决方案显然是不安全的,因为恶意用户可以运行诸如Fiddler之类的工具,在他们的机器上捕获JSON调用,然后通过更改参数等方式重播这些JSON调用 如果我将web服务文件夹置于SSL之下,它会给我什么保护?我尝试将整个站点置于SSL下,但仍然运行Fiddler,我可以看到明文消息进入HTTPS协议,并且我可以使用相同或更改的参数重播来自Fiddler的消息 我显然对SSL

我有一个ASP.NET网站,大量使用JSON服务。基本结构是:jQuery插件->JSON服务->服务器端BAL

但是,这种解决方案显然是不安全的,因为恶意用户可以运行诸如Fiddler之类的工具,在他们的机器上捕获JSON调用,然后通过更改参数等方式重播这些JSON调用

如果我将web服务文件夹置于SSL之下,它会给我什么保护?我尝试将整个站点置于SSL下,但仍然运行Fiddler,我可以看到明文消息进入HTTPS协议,并且我可以使用相同或更改的参数重播来自Fiddler的消息

我显然对SSL知之甚少,需要一些帮助。听起来好像我的SSL设置不正确,还是希望能够通过Fiddler查看SSL流量?如果是后者,SSL在我的场景中提供了什么保护


谢谢。

如果Bob在他的网站上实现SSL,那么当Alice使用该网站时,Mallory将无法截获数据或在运行中更改数据。SSL为Alice的浏览器和Bob的服务器之间的消息保密。它不会对Alice和Alice浏览器之间的消息保密

有两种方法可以保护自己免受恶意数据的侵害

  • 将所有内容转义(或等效内容),然后再将其插入其他格式。e、 g.在SQL上使用准备好的语句,使用JSON序列化程序构建JSON,而不是字符串混搭,等等
  • 对用户进行身份验证,并且只接受来自您信任的用户的数据

  • SSL只加密传输。这意味着第三方无法窃听客户端和服务器之间的数据交换。它不会向服务器或服务本身添加任何安全功能

    您需要的是一个适当的身份验证、许可和验证系统。每个请求都需要检查其有效性。准备好接收带有任何类型参数的任何类型的请求,无论是因为用户篡改了参数,还是因为代码中的错误或其他原因。如果请求无效,意味着如果某个特定用户不允许做某件事,请拒绝该请求。

    这不是您可以实现的附加技术,它是您服务的核心设计考虑因素。

    Um,您是否考虑过在服务器上而不仅仅是在客户端验证数据?您可以配置Fiddler来解码SSL(本质上,它通过篡改证书来执行中间人攻击)。您的问题不是Fiddler允许修改参数。您的问题是您的web服务没有对输入参数执行足够的检查和验证。我的web服务执行检查和验证,但这是我目前唯一的“防线”。事实上,任何人都可以看到哪些参数被发送到服务器并改变请求,这就增加了发生某种不可预见的攻击的可能性。我希望隐藏请求主体,因此至少发现web服务的结构要困难得多。@user1044169从发送通信的客户端隐藏传出通信是不可能的。如果您有一个专有客户端,例如本机桌面应用程序,则加密可能会使其变得更加困难。但即使这样,也可以进行自我反省,因为加密代码正在客户端上正确运行。在一个开放的、标准化的系统(如HTTP/Javascript)中,几乎不可能隐藏传出请求的结构。