2011-05-13 5 views
1

파일을 업로드 할 때 암호화하고 싶습니다. 일반적으로 디스크에 기록 된 다음 암호화 할 수 있습니다. 암호화하기 전에 암호화하고 싶습니다. HTTP 서버용 또는 응용 프로그램 프레임 워크 용 모듈이 있습니까?이를 위해 소프트웨어를 작성하는 데 많은 시간을 투자하고 싶지는 않지만 필요한 경우해야합니다. .모든 파일 업로드를 암호화하는 GnuPG

중요한 것은 암호화되지 않은 레코드가 하드 디스크에 닿지 않는다는 것입니다.

하드 드라이브는 이미 aes를 사용하여 암호화되어 있지만 제 지식이 없으면 제 3자가 서버에 액세스 할 수 있기 때문에 실제 데이터가 손상되는 것을 방지 할 수있는 방법이 있다면 선호하고 싶습니다.

답변

0

.. 내가 스트림으로 업로드을 다음 PyCrypto 를 사용하여 암호화 할 수있어 그와

내가 할 때 잘

 inputLength = int(environ.get('CONTENT_LENGTH', 0)) 
     input = environ['wsgi.input'] 
     f = open(dropDir + '/input','w') 
     while 1: 
       remain = inputLength - f.tell() 
       if remain <= 0: break 
       chunk = input.read(min(chunksize, remain)) 
       if not chunk: break 
       f.write(crypt.encrypt(chunk)) 
     f.close() 

작동 stateful 암호를 사용하여 전체 postdata를 암호화하고 파일에 기록한 다음 GnuPG를 사용하여 암호화 한 다음 다른 파일에 저장합니다.

0

시스템 관리자 답변 : 미리 암호화 된 데이터를 저장하는 램 디스크 영역입니다. 절대로 디스크에 닿지 않아 문제가 해결되었습니다. 아니?

+0

나는 여분의 RAM이별로 없으며, 이것들은 꽤 큰 파일 일 수도 있습니다. 아주 좋은 생각입니다. –

0

여기에 제가받은 답변이지만 아직 테스트하지 않은 답변이 있습니다. 정확하게 테스트 할 때까지 대답으로 표시하지 않을 것입니다.

대답은이 장고 프로젝트입니다. 웹 사이트를 누설하기 위해 전체 파일을 메모리로 읽어 들인 다음 암호화합니다. http://gitorious.org/deaddrop/deaddrop/blobs/master/drop/views.py

체크 할 수있는 방법

http://docs.djangoproject.com/en/1.3/topics/http/file-uploads/

httpd 실행 파일 업로드를 처리하고 따라 응용 프로그램 프레임 워크를 무시할 수있는 문제도있다가 ... 그래서 필요한 데이터 그러나이있다 그것이 무엇을하는지 확신하기 전에 그것을 많이 테스트 해보십시오.

그러나 내가 말했듯이 wsgi를 사용하면 장고가 아파치와 mod_wsgi를 사용할 때 확실히 할 수 있다고 확신한다. ... 다른 웹 서버가 무엇을 사용하는지 잘 모르겠다. 뭔가 더 가벼운 무게.

편집 : 누군가가 이것을 엄격하게 테스트 한 결과를 답변으로 게시하면이를 답변으로 표시 할 것입니다. 내가 mod_wsgi에 사용하던 일을 결국 무엇

관련 문제