Проверить имя файла в python

Я пишу персональную программу в стиле вики на Python, которая хранит текстовые файлы в настраиваемом пользователем каталоге.

Программа должна иметь возможность принимать строку (например, foo ) от пользователя и создавать имя файла foo.txt . Пользователь сможет создать файл только внутри каталога wiki, а косая черта создаст подкаталог (например, foo / bar станет (path-to-wiki) /foo/bar.txt ).

Как лучше всего проверить, что ввод максимально безопасен? Чего мне нужно остерегаться? Я знаю несколько распространенных ошибок:

  • Обход каталога: ../
  • Нулевые байты: \ 0

Я понимаю, что ввод данных пользователем для имен файлов никогда не бывает безопасным на 100%, но программа будет запускаться только локально, и я просто хочу защитить себя от любых распространенных ошибок / сбоев.

8
задан Robbie JW 27 February 2019 в 10:06
поделиться