Tôi đang viết một chương trình kiểu wiki cá nhân trong python lưu trữ các tệp văn bản trong một thư mục có thể cấu hình người dùng.Xác nhận tên tệp trong python
Chương trình sẽ có thể lấy chuỗi (ví dụ: "foo") từ người dùng và tạo tên tệp của foo.txt. Người dùng sẽ chỉ có thể tạo tệp bên trong thư mục wiki và các dấu gạch chéo sẽ tạo một thư mục con (ví dụ: "foo/bar" trở thành "(path-to-wiki) /foo/bar.txt").
Cách tốt nhất để kiểm tra xem đầu vào có an toàn nhất có thể không? Tôi cần phải chú ý điều gì (thư mục traversal - "../"?, Null bytes - "\ 0"?).
Tôi nhận thấy rằng việc nhập người dùng cho tên tệp không bao giờ an toàn 100%, nhưng chương trình sẽ chỉ chạy cục bộ và tôi chỉ muốn bảo vệ mọi lỗi/lỗi phổ biến.
mục tiêu gì? Phiên bản nào của python? –
@ IgnacioVazquez-Abrams: có, nhưng các tệp văn bản thuần túy trong hệ thống tệp có các lợi ích khác. – Puzzled79
@ g.d.d.c: Python 2.7 và/hoặc 3.2 và MacOS/Linux chủ yếu. – Puzzled79