actual username validation lol
This commit is contained in:
parent
276ea9208a
commit
e90c8cd36c
2 changed files with 21 additions and 2 deletions
|
@ -102,7 +102,18 @@ export class Client extends EventEmitter {
|
|||
this.socket.close();
|
||||
return;
|
||||
}
|
||||
let username = htmlentities.encode(joinMsg.data.username);
|
||||
let username = joinMsg.data.username.trim();
|
||||
if (!validateUsername(username)) {
|
||||
let msg: MSAgentErrorMessage = {
|
||||
op: MSAgentProtocolMessageType.Error,
|
||||
data: {
|
||||
error: "Usernames can contain only numbers, letters, spaces, dashes, underscores, and dots, and it must be between 3 and 20 characters."
|
||||
}
|
||||
};
|
||||
await this.send(msg);
|
||||
this.socket.close();
|
||||
return;
|
||||
}
|
||||
if (this.room.config.bannedWords.some(w => username.indexOf(w) !== -1)) {
|
||||
this.socket.close();
|
||||
return;
|
||||
|
@ -214,4 +225,12 @@ export class Client extends EventEmitter {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function validateUsername(username: string) {
|
||||
return (
|
||||
username.length >= 3 &&
|
||||
username.length <= 20 &&
|
||||
/^[a-zA-Z0-9\ \-\_\.]+$/.test(username)
|
||||
);
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
export const Config = {
|
||||
// The server address for the webapp to connect to. The below default is the same address the webapp is hosted at.
|
||||
serverAddress: `${window.location.protocol}//${window.location.host}`
|
||||
serverAddress: `http://127.0.0.1:3000`
|
||||
}
|
Loading…
Reference in a new issue