2010-05-27 3 views
0

Возможно ли получить полный путь к файлу на компьютере пользователя, загружаемом на мой сайт?Получить путь загруженного файла с помощью Python

Использование os.path.abspath(fileitem.filename) просто дает мне адрес того, где мой скрипт выполняется с моего общего хостингового сервера.

FYI: fileitem = форма [ 'файл'] и форма = cgi.FieldStorage()

ответ

5

Нет, эта информация не передается пользователем, так что это не доступно на вашем конце

+0

Кажется, что это может быть сделано с JavaScript. Функция может читать поле поля обзора, помещать его в скрытое текстовое поле и отправлять его с помощью формы? – Ali

+0

Работает JavaScript на удаленном конце пользователя. Python запускается на вашем сервере CGI. То, что вы говорите, верно, вы могли бы объединить две технологии. – Johnsyweb

0

Для завершите ответ - IE < = 7 используется для отправки полного пути к файлу вместо имени файла, но IE 8 изменил настройку по умолчанию и отправляет только файлы имена для privacy reasons.

Даже если клиент сделал отправить полный файл путь, многие веб-решения (например PHP, Django) лишат путь и оставить только имя файла, защищая приложения от path traversal атак. Однако библиотека cgi Python не является одной из них.

Так что - да, вы можете получить полный путь к файлу с Python CGI, но только если клиент отправил его с помощью IE < = 7.