mirror of
https://github.com/wolfswolke/DeathGarden_API_Rebirth.git
synced 2026-04-20 14:07:13 -05:00
Moved config handler and Added ABORT to checks with right error codes.
This commit is contained in:
parent
b3eea2d970
commit
c405f550b6
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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"]
|
||||
|
||||
|
|
|
|||
7
src/logic/setup_handlers.py
Normal file
7
src/logic/setup_handlers.py
Normal 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
|
||||
Loading…
Reference in New Issue
Block a user