Прежде всего, это действительно опасно .
Вы не должны позволять людям изменять файлы на вашем сервере. Это высокий риск для безопасности.
Похоже, у вас нет сервера приложений. Flask не является вашим рабочим сервером. Вы должны использовать что-то совместимое с WSGI, например Gunicorn, uWSGI, Nginx Unit ...
Что-то более безопасное может быть для обработки каждого случая, например:
@app.route("/add_entry", methods=["PUT"]):
def add_entry_to_host_file():
entry = request.args.get("entry", type=str, default="")
if check_entry(entry):
add_entry_to_host_file(entry)
return "something"
You Посмотрим, что это действительно долго и не совсем для этого предназначено. Возможно, вам стоит использовать другой инструмент (инструмент управления конфигурацией), чтобы сделать это, например Ansible, Salt, Chef ... Они более безопасны и созданы для этого. Вероятно, вы можете найти на Github веб-интерфейс для одного из них, если вам нужен удобный веб-интерфейс.
Я знаю, что на самом деле я не ответил на вопрос так, как вы ожидали ответа, но это реальная угроза безопасности.