2012-06-12 5 views
3

기본 프로젝트는 ...다운로드하지 않고 고유하게 파일 식별

웹 사이트에서 파일을 다운로드하고 해시하는 서버 응용 프로그램을 작성하려고합니다.

이유는 다른 이름으로 다시 업로드되거나 특정 파일이 실제로 무엇인지에 대한 자세한 설명을 제공하는 특정 파일을 블랙리스트에 올릴 수 있기 때문입니다. 이 파일은 0.1KB - 10.00MB 및 그 이상입니다. 합리적인 야만적 인 상황에서 파일이 이미 해시 된 것을 감지 할 수 있다면 전체 파일을 다운로드하고 결과를 보내지 않고 해시를 반환 할 수 있습니다.

내 임시 해결 방법은 그 자리에서 수행하는 JavaScript 추가 기능입니다. 이로 인해 일시적으로 정지되고 너무 좋아서 좋아집니다. 내 목표는 대중과 공유하기에 충분하도록이 목표를 설정하는 것입니다. 현재의 방법은 멀리 떨어져 있습니다.

내 스킬 셋업은 매우 넓지 만 전문가가 아니거나 세련된 사람이 아니기 때문에 라이브러리 또는 예제를 높이 평가할 수 있습니다. 이 위대한 작품을 내 자바 스크립트 코드의 이것이다


A-이 싹둑 ...

$('.tablesorter tbody tr').each(function(index) { 
     var href = 'http:' + $(this).find("td a:eq(0)").attr('href'); 
     var MD5 = ""; 
     $.get(href, function(data) { 
      MD5 = calcMD5(data); 
      $(".tablesorter tbody tr:eq("+index+") td:eq(3)").text(MD5); 
     }); 
    }); 

, 그것은에 필요한 것을 않습니다. 그러나 파일을 한 번만 해시 할 수 있도록 서버에이 작업을 수행하고 싶습니다.

+1

흥미 롭습니다. 당신이 달성하고자하는 것이 무엇인지 명확하게하기 위해 몇 가지 예를들 수 있습니까? 또한 자바 스크립트 솔루션이나 관련 부분을 공유하십시오. 그것은 우리가 더 잘 이해하는 데 도움이 될 것입니다. –

+1

http://codereview.stackexchange.com에서 JavaScript 코드를 게시하여 동결되지 않도록하기위한 포인터가 더 적합 할 수 있습니다. – epascarello

+0

'웹 사이트에서 파일을 다운로드하고 해시하는 서버 응용 프로그램을 작성하려고합니다. '파일을 업로드하기 전에? 서버 측 스크립팅을 제어합니까? '일시적인 해결책은 그 자리에서하는 JavaScript 추가 기능입니다 .' 이것은 서버 쪽을 제어하는 ​​고전적인 방법입니다. 클라이언트 쪽 해시를 실행하고 업로드를 수락하기 전에 업로드하는 것입니다. 어쩌면 너는 그 결함을 계속해서 해결해야하지 않을까? 여기에 자세한 내용이 필요하다고 생각합니다. –

답변

2

사용하는 대역폭의 양을 최소화하려는 경우 첫 번째 100kb와 같이 다운로드되는 데이터의 양을 제한하고 해당 부분에 해시를 작성할 수 있습니다. 사용할 수있는 기타 정보는 서버에서 헤더로 보낸 것입니다 (예 : 총 파일 크기 및 MIME 파일 유형).

분명히보고자하는 파일이 파일의 뒷 부분에서 다른 경우 분명히 작동하지 않습니다. 그러나 이미지 또는 다른 압축 파일 형식으로 작동해야합니다.

+0

답장 Niko에 감사드립니다. 이것은 내가하려고하는 것에 대해 들립니다. 파일 유형은 컴파일 된 플래시 파일입니다. 정확하게 이해한다면 파일의 일부만 다운로드하여 해시를 만들고 전체 파일 해시와 함께 저장할 수있는 방법이 있습니다. 이 작은 섹션이 파일을 고유하게 식별 할 수 있습니까? – DeusAphor

+0

+1 예 - 대부분의 경우 작동합니다. ID dup JPEG 파일과 동일한 방법을 사용합니다. 멀티 메가 바이트 파일의 처음 80KB를 읽으십시오.이론적으로 * 4MB 파일의 처음 80KB는 동일하지만 압축 된 2 진 데이터는 드뭅니다. –

관련 문제