2013-07-18 4 views
0

내 사이트의 파일 URL을 마스크하여 액세스 할 수 있지만 HTML 소스 코드를 볼 수는 있지만 파일의 직접 URL을 찾을 수 없습니다. 나는 PHP로 가능한지 모르겠지만, 제발 나를 도와주세요. 아무거나 할 것입니다.추적 할 수없는 URL 마스크

+0

리소스에 액세스하려면 URL (Uniform resource locator)이 있어야합니다. 하지만 자바를 기반으로 한 솔루션, 즉 일반 사용자로부터 숨길 수있는 애플릿을 사용할 수 있습니다. – DevZer0

+0

자세히 설명해주십시오. 파일에 대한 링크를 페이지에 포함 하시겠습니까? 파일에 액세스하려면 브라우저가 전체 URL을 알아야합니다. 일반 URL (보통 URL) –

답변

1

질문을 올바르게 이해하면 페이지에서 파일 URL을 추출하여 다른 곳에서 사용하는 '딥 링크 (deep link)'를 피하십시오.

브라우저에서 파일에 액세스하는 데 필요한 정보이므로 공격자가 쉽게 추출 할 수 있으므로 직접 수행 할 수 없습니다.

해결 방법이 있습니다.이 URL을 동적으로 만듭니다. 같은 세션 ID로 파일 경로, 만료 시간 (그리고 아마도 다른 요인이있다 PHP에서 HTML 페이지를 제공하는 경우, 다운로드 토큰을 생성

  • 공개적으로 접근 가능한 웹 루트 외부

    • 장소 파일, 리퍼러 URL이, 등등 ...) 암호화 매개 변수를 확인
    • 다운로드하여 스크립트에 대한 링크를 제공하는 서버 알려진 비밀과 함께 (즉, 해시를) 다운로드 스크립트 내부가 아닌 파일 iself
    • 을 확보하고 해시가 틀린 경우 304 (또는 어쩌면 404)와 함께 종료
    • verific 파일을 전달하기 만하면됩니다.

    이렇게하면 공격자가 만료 시간 이후에 유효 기간을 잃어 버리는 URL을 추출 할 수 있다는 점에서 역방향 링크를 방지 할 수 있습니다. 다운로드를 시작하기 바로 전에 AJAX 요청을 사용하여 다운로드 토큰을 만드는 경우 매우 짧게 만들 수 있습니다 (몇 초)

  • +0

    Thx에서 쉽게 추출 할 수 있지만이 작업을 수행하는 데 도움이 될만한 링크가 있는지 궁금합니다. ? – Veloncia

    +0

    Google의 단 몇 분만에 http://www.simplecodecs.com/secured-download-system-widget-for-website#.UefCFRe9hdk 및 http://www.cyber-meong.net/2011/08/script가 표시되었습니다. -secure-file-download.html. 면책 조항 : 확인하지 않고 방금 검색했습니다. –

    0

    수 없습니다.

    브라우저는 파일을 요청할 URL을 알고 있어야합니다.

    브라우저가 사용자의 통제하에 있습니다.

    브라우저에 제공 한 모든 정보와 사용자에게 부여한 정보도 제공됩니다.