Moved config handler and Added ABORT to checks with right error codes.

This commit is contained in:
ZKWolf 2023-07-21 17:34:27 +02:00
parent b3eea2d970
commit c405f550b6
3 changed files with 19 additions and 22 deletions

View File

@ -1,7 +1,8 @@
from flask import Flask, jsonify, request, send_from_directory, abort, render_template, url_for
from logic.global_handlers import check_for_game_client, load_config
from logic.setup_handlers import load_config
from logic.logging_handler import logger
from logic.global_handlers import session_manager
from logic.global_handlers import check_for_game_client
import json
import os

View File

@ -1,7 +1,4 @@
import datetime
from flask_definitions import *
import yaml
import time
import uuid
@ -11,43 +8,34 @@ def _get_remote_ip():
ip_addr = request.environ['REMOTE_ADDR']
if ip_addr == "127.0.0.1":
return None
print("New Connection from: " + ip_addr)
logger.graylog_logger(level="info", handler="ip_handler", message=f"New Connection from: {ip_addr}")
return ip_addr
else:
ip_addr = request.environ['HTTP_X_FORWARDED_FOR']
if ip_addr == "127.0.0.1":
return None
else:
print("New Connection from: " + ip_addr)
logger.graylog_logger(level="info", handler="ip_handler", message=f"New Connection from: {ip_addr}")
return ip_addr
def load_config():
with open('config//api_config.yaml', 'r') as f:
config_file = yaml.safe_load(f)
return config_file
def check_for_game_client(check_type="strict"):
if check_type == "strict":
user_agent = request.headers.get('User-Agent')
if user_agent.startswith("TheExit/++UE4+Release-4.2"):
_get_remote_ip()
# logger.graylog_logger(level="info", handler="UserAgents", message=f"User-Agent: {user_agent}")
return True
elif user_agent.startswith("game=TheExit, engine=UE4, version="):
_get_remote_ip()
# logger.graylog_logger(level="info", handler="UserAgents", message=f"User-Agent: {user_agent}")
return True
elif user_agent.startswith("CrashReportClient/++UE4+Release-4.21"):
_get_remote_ip()
else:
_get_remote_ip()
# logger.graylog_logger(level="error", handler="UserAgents", message=f"INVALID User-Agent: {user_agent}, "
# f"with IP: {_get_remote_ip()}")
return False
logger.graylog_logger(level="info", handler="UserAgents", message=f"INVALID User-Agent: {user_agent} "
f"from IP: {_get_remote_ip()}")
print(f"INVALID User-Agent: {user_agent}, IP: {_get_remote_ip()}")
abort(403)
else:
_get_remote_ip()
return True
class Session_Manager:
@ -63,7 +51,8 @@ class Session_Manager:
def get_user_id(self, session_id):
self.clean_sessions()
if session_id not in self.sessions:
return 401
logger.graylog_logger(level="info", handler="session_manager", message=f"Session ID: {session_id} not found.")
abort(401)
self.extend_session(session_id)
return self.sessions[session_id]["user"]

View File

@ -0,0 +1,7 @@
import yaml
def load_config():
with open('config//api_config.yaml', 'r') as f:
config_file = yaml.safe_load(f)
return config_file