Estoy escribiendo un programa personal de estilo wiki en python que almacena archivos de texto en un directorio configurable por el usuario.Validar un nombre de archivo en python
El programa debería poder tomar una cadena (por ejemplo, "foo") de un usuario y crear un nombre de archivo de foo.txt. El usuario solo podrá crear el archivo dentro del directorio wiki, y las barras crearán un subdirector (por ejemplo, "foo/bar" se convierte en "(ruta a wiki) /foo/bar.txt").
¿Cuál es la mejor manera de verificar que la entrada sea lo más segura posible? ¿Qué debo tener en cuenta (recorrido de directorios - "../"?, Bytes nulos - "\ 0"?).
Me doy cuenta de que tomar la entrada del usuario para los nombres de los archivos nunca es 100% seguro, pero el programa solo se ejecutará localmente y solo quiero protegerme de cualquier error/falla.
Qué objetivo? ¿Qué versiones de python? –
@ IgnacioVazquez-Abrams: sí, pero los archivos de texto plano en el sistema de archivos tienen otros beneficios. – Puzzled79
@ g.d.d.c: Python 2.7 y/o 3.2, y MacOS/Linux principalmente. – Puzzled79