🩹 修复路径注入

This commit is contained in:
HibiKier 2025-03-18 22:28:05 +08:00
parent 12660df8c3
commit cc1b199cdc

View File

@ -53,7 +53,7 @@ async def _(setting: Setting) -> Result:
if setting.db_url: if setting.db_url:
if setting.db_url.startswith("sqlite"): if setting.db_url.startswith("sqlite"):
base_dir = Path().resolve() base_dir = Path().resolve()
db_path = Path(setting.db_url.split(":")[-1]) db_path = Path(setting.db_url.split(":")[-1]).resolve()
parent_path = db_path.parent parent_path = db_path.parent
if not parent_path.absolute().is_relative_to(base_dir): if not parent_path.absolute().is_relative_to(base_dir):
return Result.fail("数据库路径不在项目根目录内。") return Result.fail("数据库路径不在项目根目录内。")
@ -63,11 +63,12 @@ async def _(setting: Setting) -> Result:
Config.set_config("web-ui", "username", setting.username) Config.set_config("web-ui", "username", setting.username)
Config.set_config("web-ui", "password", setting.password, True) Config.set_config("web-ui", "password", setting.password, True)
env_file.write_text(env_text, encoding="utf-8") env_file.write_text(env_text, encoding="utf-8")
for file in os.listdir(Path()): if BAT_FILE.exists():
if file.startswith(FILE_NAME): for file in os.listdir(Path()):
Path(file).unlink() if file.startswith(FILE_NAME):
flag_file = Path() / f"{FILE_NAME}_{int(time.time())}" Path(file).unlink()
flag_file.touch() flag_file = Path() / f"{FILE_NAME}_{int(time.time())}"
flag_file.touch()
return Result.ok(BAT_FILE.exists(), info="设置成功,请重启真寻以完成配置!") return Result.ok(BAT_FILE.exists(), info="设置成功,请重启真寻以完成配置!")