mirror of
https://github.com/fromchat-messenger/web.git
synced 2026-09-23 03:25:07 +03:00
Remove user agent checks
This commit is contained in:
@@ -17,7 +17,6 @@ import os
|
||||
|
||||
from security.audit import log_security
|
||||
from security.profanity import contains_profanity
|
||||
from security.user_agent_blocklist import is_user_agent_blocked
|
||||
from security.rate_limit import rate_limit_per_ip
|
||||
router = APIRouter()
|
||||
|
||||
@@ -73,20 +72,6 @@ def login(request: Request, login_request: LoginRequest, db: Session = Depends(g
|
||||
client_ip = get_client_ip(request)
|
||||
raw_ua = request.headers.get("user-agent")
|
||||
|
||||
if is_user_agent_blocked(raw_ua):
|
||||
log_security(
|
||||
"blocked_user_agent",
|
||||
severity="warning",
|
||||
username=username,
|
||||
ip=client_ip,
|
||||
user_agent=raw_ua or "Unknown",
|
||||
action_type="login",
|
||||
)
|
||||
raise HTTPException(
|
||||
status_code=403,
|
||||
detail="Доступ запрещён"
|
||||
)
|
||||
|
||||
user = db.query(User).filter(User.username == username).first()
|
||||
|
||||
if not user or not verify_password(login_request.password.strip(), user.password_hash):
|
||||
@@ -189,20 +174,6 @@ def register(request: Request, register_request: RegisterRequest, db: Session =
|
||||
client_ip = get_client_ip(request)
|
||||
raw_ua = request.headers.get("user-agent")
|
||||
|
||||
if is_user_agent_blocked(raw_ua):
|
||||
log_security(
|
||||
"blocked_user_agent",
|
||||
severity="warning",
|
||||
username=username,
|
||||
ip=client_ip,
|
||||
user_agent=raw_ua or "Unknown",
|
||||
action_type="registration",
|
||||
)
|
||||
raise HTTPException(
|
||||
status_code=403,
|
||||
detail="Доступ запрещён"
|
||||
)
|
||||
|
||||
# Determine if owner already exists
|
||||
owner_exists = db.query(User).filter(User.username == OWNER_USERNAME).first() is not None
|
||||
|
||||
|
||||
@@ -7,13 +7,6 @@ from dependencies import get_current_user
|
||||
from models import User
|
||||
from security.audit import log_security
|
||||
from security.profanity import add_to_blocklist, get_blocklist, remove_from_blocklist
|
||||
from security.user_agent_blocklist import (
|
||||
add_to_blocklist as add_ua_to_blocklist,
|
||||
get_blocklist as get_ua_blocklist,
|
||||
get_static_blocklist as get_ua_static_blocklist,
|
||||
get_external_blocklist as get_ua_external_blocklist,
|
||||
remove_from_blocklist as remove_ua_from_blocklist,
|
||||
)
|
||||
|
||||
|
||||
class BlocklistUpdateRequest(BaseModel):
|
||||
@@ -66,44 +59,4 @@ def delete_from_blocklist(
|
||||
return {"removed": removed, "words": updated}
|
||||
|
||||
|
||||
@router.get("/user-agent-blocklist")
|
||||
def list_user_agent_blocklist(current_user: User = Depends(get_current_user)):
|
||||
_ensure_owner(current_user)
|
||||
return {
|
||||
"patterns": get_ua_blocklist(),
|
||||
"static": get_ua_static_blocklist(),
|
||||
"external": get_ua_external_blocklist(),
|
||||
}
|
||||
|
||||
|
||||
@router.post("/user-agent-blocklist")
|
||||
def append_user_agent_blocklist(
|
||||
request: BlocklistUpdateRequest,
|
||||
current_user: User = Depends(get_current_user)
|
||||
):
|
||||
_ensure_owner(current_user)
|
||||
added, updated = add_ua_to_blocklist(request.words)
|
||||
log_security(
|
||||
"user_agent_blocklist_add",
|
||||
actor=current_user.username,
|
||||
actor_id=current_user.id,
|
||||
added=added,
|
||||
)
|
||||
return {"added": added, "patterns": updated}
|
||||
|
||||
|
||||
@router.delete("/user-agent-blocklist")
|
||||
def delete_from_user_agent_blocklist(
|
||||
request: BlocklistUpdateRequest,
|
||||
current_user: User = Depends(get_current_user)
|
||||
):
|
||||
_ensure_owner(current_user)
|
||||
removed, updated = remove_ua_from_blocklist(request.words)
|
||||
log_security(
|
||||
"user_agent_blocklist_remove",
|
||||
actor=current_user.username,
|
||||
actor_id=current_user.id,
|
||||
removed=removed,
|
||||
)
|
||||
return {"removed": removed, "patterns": updated}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user