网站和后端之间的安全通信

时间:2018-01-17 07:15:07

标签: rest security authentication

我目前正在实施Facebook聊天扩展,它基本上只是一个由Facebook Messenger应用程序提供的浏览器中显示的网页。此Web页面通过REST API与公司后端进行通信(使用Python / Flask实现)。通过HTTPS完成通信。

我的问题:如果我们无法控制的任何客户端无法访问后端,那么如何保护网页和后端的通信?

我是这个话题的新手,并且想避免让初学者成为'错误或为我们的技术堆栈添加太复杂的协议。

2 个答案:

答案 0 :(得分:1)

简短的回答:你不能。一切都可以伪造,即卷曲和一些脚本。

稍长一点: 你可以让它变得更难。非浏览器客户端必须实现您对应用程序进行身份验证所做的一切(如客户端证书和Signet请求),迫使他们对您执行的每个模糊处理进行逆向工程。

低悬的成果是使用CORS并将Access Allow Origin Header设置为您的域。浏览器会尊重您的设置并且不会允许您的api请求(他们会做出选项请求以确定它。)

但是,非官方客户可以再次使用代理。

答案 1 :(得分:0)

您不能100%确定来自客户端的给定标头数据是否为真。它更多的是诚实而不是安全。 (“这是一个功能 - 而不是一个错误。”

请考虑如果有人以恶意方式使用您的API(DDoS或数据泄漏)会发生什么?他将如何使用它?可能存在识别攻击者的模式(如异常数量的请求)。

在您分析了这种情况后,您可以在此处找到有关保护API安全的正确方法的更多信息:https://www.incapsula.com/blog/best-practices-for-securing-your-api.html

相关问题