早安,
我开发离子的应用程序,并有一些数据发送到服务器控制器(警予1)将数据保存在数据库$ http请求(角)。我完成了我的应用程序,但它没有安全性。我想知道如何保护它,因为现在任何人看看我的$ http请求都可以知道参数必须发送,并杀死我的应用程序。
我应该怎么做才能保护它?也许通过令牌?我真的失去了安全方法。
非常感谢,
Carles。
早安,
我开发离子的应用程序,并有一些数据发送到服务器控制器(警予1)将数据保存在数据库$ http请求(角)。我完成了我的应用程序,但它没有安全性。我想知道如何保护它,因为现在任何人看看我的$ http请求都可以知道参数必须发送,并杀死我的应用程序。
我应该怎么做才能保护它?也许通过令牌?我真的失去了安全方法。
非常感谢,
Carles。
当您研究Web应用程序安全性时,您将遇到跨站点请求伪造(CSRF)。这种攻击媒介正在利用cookies,但以一种可预防的方式。
大多数攻击都集中在窃取cookie,因为几乎每个网站都使用cookie作为身份验证的一种形式。设置是这样的:当用户登录到你的服务器时,你在浏览器中设置一个cookie。这个cookie包含一个唯一的ID,它是数据库中用户会话信息的链接。浏览器在将来的请求中提供这个cookie,服务器知道你是谁。
从表面上看,这听起来并不是很糟糕,但这里有一个问题:即使最终用户本身没有执行操作,Web浏览器也可能被诱骗向您的服务器发出请求。
使用POST请求
它有时想到用适当的形式为基础的POST请求将减轻这种攻击,但事实并非如此。
使用仅HTTP或安全饼干
虽然你一定要在你的会话cookie使用这些标志,他们不含蓄停止攻击:在浏览器仍然发送的Cookie到您的域时,请求是对你的域名制作的。您的服务器不知道这是真正的用户还是攻击。
如何防止CSRF
您可以通过依靠一套规则,浏览器方面实现这一点,叫Same-Origin Policy。本政策声明,某些敏感操作是由我们网站上运行的JavaScript代码执行的,而不是其他网站。
Angular封装了CSRF令牌方法,使我们更容易实现。对于您的Angular应用程序对您的服务器所做的每个请求,Angular $ http服务将自动执行以下操作:
在当前域中查找名为XSRF-TOKEN的cookie。 如果找到该cookie,它将读取该值并将其作为X-XSRF-TOKEN标题添加到请求中。
因此,客户端实现自动处理!但是,这确实会让服务器端部件留在您的手中。您需要执行以下操作:
登录期间:创建CSRF令牌(使用随机的,不可猜测的字符串),并将其与用户会话相关联。您需要通过XSRF-TOKEN cookie在登录响应中发送它。 断言您的API的所有传入请求都具有X-XSRF-TOKEN标头,并且标头的值是与用户会话关联的标志。
就是这样!通过一点后端工作,您现在可以制定一项策略来保护您免受CSRF攻击。
非常感谢你! –
不客气 – Wcan
搜索“离子框架权威性”给https://devdactic.com/user-工作示例auth-angularjs-ionic/ –