From 27c7c8ea0b6e9ffd29220ad3ac1ed6a995c02b73 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Mon, 25 Oct 2021 14:56:03 +0200 Subject: [PATCH] Hackers protection at websockets level --- Environment.js | 2 +- Platform/Client/eventServer.js | 3 -- Platform/Client/webSocketsInterface.js | 39 ++++++++++++++++++++++---- 3 files changed, 35 insertions(+), 9 deletions(-) diff --git a/Environment.js b/Environment.js index 98bcecd46..47627f378 100644 --- a/Environment.js +++ b/Environment.js @@ -8,7 +8,7 @@ if (process.env.PACKAGED_PATH) { exports.newEnvironment = function () { let thisObject = { - DEMO_MODE: true, + DEMO_MODE: false, BASE_PATH: basePath, WEB_SERVER_URL: 'localhost', PLATFORM_WEB_SOCKETS_INTERFACE_PORT: 18041, diff --git a/Platform/Client/eventServer.js b/Platform/Client/eventServer.js index 7b3067777..dd34a53e7 100644 --- a/Platform/Client/eventServer.js +++ b/Platform/Client/eventServer.js @@ -1,8 +1,5 @@ exports.newEventServer = function newEventServer() { - const MODULE = "Events Server" - const LOG_INFO = false - let thisObject = { initialize: initialize, finalize: finalize, diff --git a/Platform/Client/webSocketsInterface.js b/Platform/Client/webSocketsInterface.js index 5797173da..6159d840b 100644 --- a/Platform/Client/webSocketsInterface.js +++ b/Platform/Client/webSocketsInterface.js @@ -9,7 +9,7 @@ const WEB_SOCKET = SA.nodeModules.ws let socketServer - let port = global.env.PLATFORM_WEB_SOCKETS_INTERFACE_PORT + let port = global.env.PLATFORM_WEB_SOCKETS_INTERFACE_PORT return thisObject @@ -36,13 +36,42 @@ socket.on('message', onMenssage) - function onMenssage(message){ + function onMenssage(message) { try { - if (LOG_INFO === true) { - console.log('Message Received: ' + message.substring(0, 1000)) + if (global.env.DEMO_MODE === true) { + /* + In DEMO MODE we will accept Task / Sessioins Running or Stopping if you are requesting this from localhost only. + */ + if (socket._socket.remoteAddress !== "::1") { + if ( + message.toString().indexOf('"eventType":"Run Task"') >= 0 + || + message.toString().indexOf('"eventType":"Stop Task"') >= 0 + || + message.toString().indexOf('"eventType":"Run Trading Session"') >= 0 + || + message.toString().indexOf('"eventType":"Stop Trading Session"') >= 0 + || + message.toString().indexOf('"eventType":"Resume Trading Session"') >= 0 + || + message.toString().indexOf('"eventType":"Run Learning Session"') >= 0 + || + message.toString().indexOf('"eventType":"Stop Learning Session"') >= 0 + || + message.toString().indexOf('"eventType":"Resume Learning Session"') >= 0 + ) { + console.log('Trying to execute a Task while in DEMO MODE. Some hacking has taken place!') + console.log('Hacker IP Address is: ' + socket._socket.remoteAddress) + return + } + } } - + + if (LOG_INFO === true) { + console.log('Message Received: ' + message.toString().substring(0, 10000)) + } + let messageArray = message.toString().split('|*|') let origin = messageArray[0]