防止中间人攻击
Prevent Man in The Middle Attack
所以我有一个 React Native 应用程序,用户可以在其中注册。 React Native 使用正常的 JavaScript Fetch API:
fetch("http://myip:8000/api/account/register/", {
method: "POST",
headers: {
"Accept": 'application/json',
"Content-Type": "application/json"
},
body: JSON.stringify({
username: username,
password: password,
email: email
})
})
.then(response => {
return response.json()
})
.then(data => {
afterRegister(data)
}
.catch(error => {
console.log(error)
}
})
问题是,我也可以从例如 POST 请求 POSTMAN :/ 我想到了一个安全代码,我需要将其添加到正文(硬编码)中,只有拥有该代码的客户才能创建 POST 请求。像这样的代码可能如下所示:Dhiuw1298md()AJM8d9j289j)N ASIDH)8zh2n1ujD)(AZwh98em9812z)(ZDM)("ZM)8mdwuJio2h1hn398 等等...
但是现在如果我这样做并且用户在应用程序中注册 he/she 也可以使用 中间人攻击 来获取代码和垃圾邮件 POST 向服务器请求 直到服务器崩溃。
我如何防止用户看到 HTTPSPOST 请求的内容中间人攻击?
I also could make a POST request from e.g. POSTMAN :/
[…] spam POST requests to the Server until the Server crashes.
代码仅对身份验证有用,即识别哪个用户正在向您的服务器发送请求(如果代码在所有用户之间共享是不好的,即基本上public)。它对 DoS attack 没有帮助 - 这就是防火墙的好处。
所以我有一个 React Native 应用程序,用户可以在其中注册。 React Native 使用正常的 JavaScript Fetch API:
fetch("http://myip:8000/api/account/register/", {
method: "POST",
headers: {
"Accept": 'application/json',
"Content-Type": "application/json"
},
body: JSON.stringify({
username: username,
password: password,
email: email
})
})
.then(response => {
return response.json()
})
.then(data => {
afterRegister(data)
}
.catch(error => {
console.log(error)
}
})
问题是,我也可以从例如 POST 请求 POSTMAN :/ 我想到了一个安全代码,我需要将其添加到正文(硬编码)中,只有拥有该代码的客户才能创建 POST 请求。像这样的代码可能如下所示:Dhiuw1298md()AJM8d9j289j)N ASIDH)8zh2n1ujD)(AZwh98em9812z)(ZDM)("ZM)8mdwuJio2h1hn398 等等...
但是现在如果我这样做并且用户在应用程序中注册 he/she 也可以使用 中间人攻击 来获取代码和垃圾邮件 POST 向服务器请求 直到服务器崩溃。
我如何防止用户看到 HTTPSPOST 请求的内容中间人攻击?
I also could make a POST request from e.g. POSTMAN :/
[…] spam POST requests to the Server until the Server crashes.
代码仅对身份验证有用,即识别哪个用户正在向您的服务器发送请求(如果代码在所有用户之间共享是不好的,即基本上public)。它对 DoS attack 没有帮助 - 这就是防火墙的好处。