Compare commits

...

1 Commits

Author SHA1 Message Date
3c6a549a5f sanitize socket event types 2025-05-16 01:27:27 -07:00

View File

@ -25,6 +25,7 @@ io.on("connection", socket => {
}) })
socket.on("user", user => { socket.on("user", user => {
if (!socket.quotas.user.spend()) return; if (!socket.quotas.user.spend()) return;
if (typeof user != "object") return;
user = { user = {
name: user.name?.toString().trim().substring(0,32), name: user.name?.toString().trim().substring(0,32),
color: user.color?.toString().trim().substring(0,32), color: user.color?.toString().trim().substring(0,32),
@ -40,6 +41,7 @@ io.on("connection", socket => {
broadcastUsers(); broadcastUsers();
}); });
socket.once("user", async user => { socket.once("user", async user => {
if (typeof user != "object") return;
//await newMessage({color: "#00FF00", content:`${user.name} connected`}); //await newMessage({color: "#00FF00", content:`${user.name} connected`});
socket.on("disconnect", () => { socket.on("disconnect", () => {
//newMessage({color: "#FF0000", content: `${socket.data.user.name} disconnected`}); //newMessage({color: "#FF0000", content: `${socket.data.user.name} disconnected`});
@ -47,6 +49,7 @@ io.on("connection", socket => {
}); });
socket.on("message", message => { socket.on("message", message => {
if (!socket.quotas.message.spend()) return; if (!socket.quotas.message.spend()) return;
if (typeof message != "object") return;
newMessage({ newMessage({
content: message.content?.toString().substring(0,10000), content: message.content?.toString().substring(0,10000),
user: {...socket.data.user} user: {...socket.data.user}
@ -58,6 +61,7 @@ io.on("connection", socket => {
io.emit("type", socket.id); io.emit("type", socket.id);
}); });
socket.on("mouse", (x, y) => { socket.on("mouse", (x, y) => {
if (typeof x != "number" || typeof y != "number") return;
//socket.broadcast.emit("mouse", x, y, socket.id); //socket.broadcast.emit("mouse", x, y, socket.id);
// see own cursor (test) // see own cursor (test)
io.emit("mouse", x, y, socket.id); io.emit("mouse", x, y, socket.id);