2010-05-27 5 views
0

내 컴퓨터에 업로드되는 파일의 전체 경로를 가져올 수 있습니까?Python을 사용하여 업로드 된 파일의 경로를 얻으십시오

os.path.abspath(fileitem.filename)을 사용하면 내 공유 호스팅 서버에서 내 스크립트가 실행되는 주소를 간단히 가져옵니다.

참고 : fileitem = 양식 [ '파일']와 형태 = cgi.FieldStorage()

답변

5

아니, 그 정보는 사용자가 전송되지, 그래서 최종에 사용할 수없는됩니다

+0

를 사용하여 전송하는 경우에만 자바 스크립트와 함께 할 수있는 것 같다. 함수는 찾아보기 필드 경로를 읽고 숨겨진 텍스트 필드에 넣은 다음 양식과 함께 제출할 수 있습니까? – Ali

+0

JavaScript가 원격 사용자의 끝에서 실행됩니다. Python은 CGI 서버에서 실행됩니다. 당신이 말하는 것은 사실입니다. 두 기술을 결합 할 수 있습니다. – Johnsyweb

0

으로 대답을 완료하십시오 - IE < = 7은 파일 이름 대신 전체 파일 경로를 보내는 데 사용되지만 IE 8은 기본 설정을 변경하고 파일 privacy reasons으로 보냅니다.

클라이언트가 전체 파일 경로을 보내 않았더라도, 많은 웹 기반 솔루션 (예를 들어, PHP, 장고) 경로를 제거하고 path traversal 공격으로부터 응용 프로그램을 보호하는 유일한 파일 이름을 둡니다. 파이썬의 CGI 라이브러리는 그 중 하나가 아닙니다.

그래서 - 그래, 당신은 파이썬 CGI와 전체 파일 경로를 얻을 수는 있지만 클라이언트가 IE < = 7

관련 문제