no bad boi UAs
This commit is contained in:
parent
f2ddb16216
commit
2ca8cc2a14
14
app.py
14
app.py
|
@ -1,4 +1,4 @@
|
||||||
from flask import Flask, request, session, redirect, url_for, render_template, jsonify
|
from flask import Flask, request, session, redirect, url_for, render_template, jsonify, abort
|
||||||
from werkzeug.security import generate_password_hash, check_password_hash
|
from werkzeug.security import generate_password_hash, check_password_hash
|
||||||
from cryptography.fernet import Fernet
|
from cryptography.fernet import Fernet
|
||||||
import os
|
import os
|
||||||
|
@ -45,6 +45,18 @@ def get_key_for_user(user, password):
|
||||||
key = hashlib.pbkdf2_hmac("sha256", password.encode(), salt + user.encode(), 100_000)
|
key = hashlib.pbkdf2_hmac("sha256", password.encode(), salt + user.encode(), 100_000)
|
||||||
return base64.urlsafe_b64encode(key[:32])
|
return base64.urlsafe_b64encode(key[:32])
|
||||||
|
|
||||||
|
banned_user_agent_patterns = [
|
||||||
|
re.compile(r'curl/\d+\.\d+(\.\d+)?'),
|
||||||
|
re.compile(r'python-requests/\d+\.\d+(\.\d+)?'),
|
||||||
|
]
|
||||||
|
|
||||||
|
@app.before_request
|
||||||
|
def block_banned_user_agents():
|
||||||
|
ua = request.headers.get("User-Agent", "")
|
||||||
|
for pattern in banned_user_agent_patterns:
|
||||||
|
if pattern.search(ua):
|
||||||
|
abort(403)
|
||||||
|
|
||||||
|
|
||||||
# === ROUTES ===
|
# === ROUTES ===
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue