forked from rDrama/rDrama
1
0
Fork 0

remove login_required from ddos_detected

master
Aevann 2023-08-10 00:46:12 +03:00
parent 9a28e36265
commit 93d89218b1
5 changed files with 9 additions and 11 deletions

View File

@ -16,7 +16,6 @@ _SETTINGS = {
"offline_mode": False,
"under_siege": False,
"dm_media": True,
"ddos_detected": False
}
def get_setting(setting):

View File

@ -48,7 +48,7 @@ def error_401(e):
qs = urlencode(dict(request.values))
argval = quote(f"{path}?{qs}", safe='').replace('/logged_out','')
if not argval: argval = '/'
if session.get("history") or not get_setting("signups") or get_setting("ddos_detected"):
if session.get("history") or not get_setting("signups"):
return redirect(f"/login?redirect={argval}")
else: return redirect(f"/signup?redirect={argval}")

View File

@ -146,7 +146,7 @@ def logout(v):
@limiter.limit(DEFAULT_RATELIMIT, deduct_when=lambda response: response.status_code < 400)
@auth_desired
def sign_up_get(v):
if not get_setting('signups') or get_setting("ddos_detected"):
if not get_setting('signups'):
abort(403, "New account registration is currently closed. Please come back later!")
if v: return redirect(SITE_FULL)
@ -195,7 +195,7 @@ def sign_up_get(v):
@limiter.limit("10/day", deduct_when=lambda response: response.status_code < 400)
@auth_desired
def sign_up_post(v):
if not get_setting('signups') or get_setting("ddos_detected"):
if not get_setting('signups'):
abort(403, "New account registration is currently closed. Please come back later!")
if v: abort(403)

View File

@ -60,12 +60,12 @@ def calc_users():
ddos_threshold = 1000
if g.loggedout_counter > ddos_threshold:
if not get_setting('ddos_detected'):
toggle_setting('ddos_detected')
if not get_setting('under_attack'):
toggle_setting('under_attack')
set_security_level('under_attack')
else:
if get_setting('ddos_detected'):
toggle_setting('ddos_detected')
if get_setting('under_attack'):
toggle_setting('under_attack')
set_security_level('high')
return ''

View File

@ -126,10 +126,9 @@
{% if v.admin_level >= PERMS['SITE_SETTINGS'] %}
{% for setting in SITE_SETTINGS.keys() %}
{% if not (setting == "offline_mode" and v.admin_level < PERMS["SITE_OFFLINE_MODE"]) and setting !="ddos_detected" %}
{% if not (setting == "offline_mode" and v.admin_level < PERMS["SITE_OFFLINE_MODE"]) %}
<div class="custom-control custom-switch{% if loop.index > 1 %} mt-1{% endif %}" id="settings-{{setting}}-container">
{% set disabled = (setting in ("under_attack", "signups") and SITE_SETTINGS["ddos_detected"]) %}
<input {% if disabled %}disabled {% if setting == "under_attack" %}checked{% endif %}{% endif %} autocomplete="off" type="checkbox" class="custom-control-input" id="settings-{{setting}}-checkbox" {% if SITE_SETTINGS[setting] %}checked{% endif %} data-nonce="{{g.nonce}}" data-onchange="postToastSwitch(this, '/admin/site_settings/{{setting}}');">
<input autocomplete="off" type="checkbox" class="custom-control-input" id="settings-{{setting}}-checkbox" {% if SITE_SETTINGS[setting] %}checked{% endif %} data-nonce="{{g.nonce}}" data-onchange="postToastSwitch(this, '/admin/site_settings/{{setting}}');">
<label class="custom-control-label" for="settings-{{setting}}-checkbox">{{setting.replace('_', ' ').title()}}</label>
</div>
{% endif %}