Files
upload-platform/upload/backend/upload_refs/safe_name.py
T

13 lines
513 B
Python

"""Санитизация имени файла с сохранением подпапок."""
def safe_name(name: str) -> str:
"""Вернуть безопасное относительное имя или пустую строку."""
if not isinstance(name, str) or not name:
return ""
parts = [part for part in name.replace("\\", "/").split("/")
if part and part != "."]
if not parts or any(part == ".." for part in parts):
return ""
return "/".join(parts)