我正在编写Web应用程序,并且在使用套接字时我一直在考虑安全性。假设客户端上有代码:
$("#send").click(function(e) {
var data = {
name: "Albert",
surname: "Einstein"
};
socket.emit("send data", data);
}
好吧,在服务器上它以某种方式处理。问题是,是否可以在不点击的情况下以某种方式模拟socket.emit ("send data", data)
,并将我的伪造参数插入data
?如果是,怎么样?
答案 0 :(得分:1)
是的,有可能。您可以编写一个简单的假客户端示例:
fake.js
const server = "127.0.0.1"; // change it to the address of your server
const port = 3000; // change it to the port of your server
const data = "I am a fake client";
const socket = require("socket.io-client")("http://" + server + ":" + port);
socket.on("connect", function () {
console.log("connected");
socket.emit("send data", data);
console.log("data sent");
});
的package.json
{
"name": "fake",
"version": "0.0.1",
"private": true,
"dependencies": {
"socket.io-client": "^2.0.2"
}
}
运行npm install
然后node fake
,您的任务就完成了;)