Javascript 从客户端向服务器发送伪造的socket.io请求(node.js/socket.io)
我正在编写一个web应用程序,我一直在考虑使用套接字时的安全性。假设客户端上有一个代码:Javascript 从客户端向服务器发送伪造的socket.io请求(node.js/socket.io),javascript,node.js,socket.io,Javascript,Node.js,Socket.io,我正在编写一个web应用程序,我一直在考虑使用套接字时的安全性。假设客户端上有一个代码: $("#send").click(function(e) { var data = { name: "Albert", surname: "Einstein" }; socket.emit("send data", data); } 嗯,在服务器上,它以某种方式被处理。问题是,是否可以只模拟so
$("#send").click(function(e) {
var data = {
name: "Albert",
surname: "Einstein"
};
socket.emit("send data", data);
}
嗯,在服务器上,它以某种方式被处理。问题是,是否可以只模拟
socket.emit(“发送数据”,data)
,而无需单击,并将我伪造的参数插入数据
?如果是,怎么做?是的,这是可能的。您可以编写一个简单的假客户端示例:
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
,您的任务就完成了;)