了解 HTTP 请求是否已被截断
Know if an HTTP request have been truncated
我想知道是否有办法知道客户端是否修改了 HTTP 请求(例如通过 burp 套件)。
我想也许 header 中有一个完整性散列,但我不确定这样做是否正确。
示例:
客户端(js):
var fd = new FormData();
fd.append("token", "ExampleToken");
fd.append("email", "example@email.com");
fd.append("subscription_level", 3);
axios.post("https://urlToTheRestApi/file.php", fd).then(() => {
//do some stuff
})
服务器端(php):
//On server side, check if the data request has not been modified by malicious user, then :
if(isset($_POST['token']) && isset($_POST['email']) && isset($_POST['subscription_level']))
{
//do some stuff
}
如果你有如何做到这一点的例子,我很感兴趣。
谢谢。
HTTPS 防止中间体修改。使用 HTTPS 时可以修改请求的唯一方法是用户主动决定要修改自己的请求。
解决这个问题并不是真的 possible/reasonable。如果用户控制客户端,他们可以让客户端做不同的事情。如果您觉得需要这个,您可能需要使用不同的方法来解决您的问题。
我想知道是否有办法知道客户端是否修改了 HTTP 请求(例如通过 burp 套件)。
我想也许 header 中有一个完整性散列,但我不确定这样做是否正确。
示例:
客户端(js):
var fd = new FormData(); fd.append("token", "ExampleToken"); fd.append("email", "example@email.com"); fd.append("subscription_level", 3); axios.post("https://urlToTheRestApi/file.php", fd).then(() => { //do some stuff })
服务器端(php):
//On server side, check if the data request has not been modified by malicious user, then : if(isset($_POST['token']) && isset($_POST['email']) && isset($_POST['subscription_level'])) { //do some stuff }
如果你有如何做到这一点的例子,我很感兴趣。
谢谢。
HTTPS 防止中间体修改。使用 HTTPS 时可以修改请求的唯一方法是用户主动决定要修改自己的请求。
解决这个问题并不是真的 possible/reasonable。如果用户控制客户端,他们可以让客户端做不同的事情。如果您觉得需要这个,您可能需要使用不同的方法来解决您的问题。