diff options
| author | RblSb <msrblsb@gmail.com> | 2020-07-18 14:42:13 +0300 |
|---|---|---|
| committer | RblSb <msrblsb@gmail.com> | 2020-07-18 14:42:13 +0300 |
| commit | 8636d8156b591a9d1ebcc95a188491e88561aca6 (patch) | |
| tree | c6f4742b885c541a62ed7617fddd311728e30ea0 /build/server.js | |
| parent | 2f8739d53ac6c90424756eb463d8d82bb8d4bfeb (diff) | |
Improve data validation
Diffstat (limited to 'build/server.js')
| -rw-r--r-- | build/server.js | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/build/server.js b/build/server.js index aff7631..81d54d2 100644 --- a/build/server.js +++ b/build/server.js @@ -3945,7 +3945,7 @@ server_Main.prototype = { this.onMessage(client,{ type : "Connected"},true); ws.on("message",function(data) { var obj = _gthis.wsEventParser.fromJson(data); - if(_gthis.wsEventParser.errors.length > 0) { + if(_gthis.wsEventParser.errors.length > 0 || _gthis.noTypeObj(obj)) { var errors = "" + ("Wrong request for type \"" + obj.type + "\":") + "\n" + json2object_ErrorUtils.convertErrorArray(_gthis.wsEventParser.errors); haxe_Log.trace(errors,{ fileName : "src/server/Main.hx", lineNumber : 301, className : "server.Main", methodName : "onConnect"}); _gthis.serverMessage(client,errors); @@ -3957,6 +3957,22 @@ server_Main.prototype = { _gthis.onMessage(client,{ type : "Disconnected"},true); }); } + ,noTypeObj: function(data) { + if(data.type == "GetTime") { + return false; + } + if(data.type == "TogglePlaylistLock") { + return false; + } + if(data.type == "UpdatePlaylist") { + return false; + } + if(data.type == "Logout") { + return false; + } + var t = data.type; + return ((Reflect.field(data,t.charAt(0).toLowerCase() + HxOverrides.substr(t,1,null))) === null); + } ,onMessage: function(client,data,internal) { var _gthis = this; this.logger.log({ clientName : client.name, clientGroup : client.group, event : data, time : new Date().getTime()}); @@ -4028,7 +4044,7 @@ server_Main.prototype = { if(!internal) { return; } - haxe_Log.trace("Client " + client.name + " disconnected",{ fileName : "src/server/Main.hx", lineNumber : 346, className : "server.Main", methodName : "onMessage"}); + haxe_Log.trace("Client " + client.name + " disconnected",{ fileName : "src/server/Main.hx", lineNumber : 356, className : "server.Main", methodName : "onMessage"}); server_Utils.sortedPush(this.freeIds,client.id); HxOverrides.remove(this.clients,client); this.sendClientList(); |
