>  기사  >  백엔드 개발  >  javascript - 임시 또는 제한된 시간의 다운로드 링크를 만드는 방법은 무엇입니까?

javascript - 임시 또는 제한된 시간의 다운로드 링크를 만드는 방법은 무엇입니까?

WBOY
WBOY원래의
2016-12-01 00:56:551524검색

압축 패키지를 다운로드하려면 비용을 지불해야 한다는 요구가 있습니다. 비용을 지불한 후 여러 번 또는 무제한으로 다운로드할 수 있습니다.

그러면 문제가 발생합니다

  1. 요금을 지불하는 사람이 다운로드를 위해 다른 사람에게 전달할 수 있도록 압축된 패키지의 경로가 노출되지 않도록 하려면 어떻게 해야 합니까?

  2. 다운로드 링크에 시간 제한이 있나요?

내 생각은 압축된 패키지 ID에 해당하는 유료 사용자 ID를 기록하는 테이블을 만들어서 해당 사용자만 다운로드할 수 있도록 하는 것입니다.
그런데 다른 방법이나 더 좋은 방법이 있나요?
ps:PHP

답글 내용:

압축 패키지를 다운로드하려면 비용을 지불해야 한다는 요구가 있습니다. 비용을 지불한 후 여러 번 또는 무제한으로 다운로드할 수 있습니다.

그러면 문제가 발생합니다

  1. 요금을 지불하는 사람이 다운로드를 위해 다른 사람에게 전달할 수 있도록 압축된 패키지의 경로가 노출되지 않도록 하려면 어떻게 해야 합니까?

  2. 다운로드 링크에 시간 제한이 있나요?

내 생각은 압축된 패키지 ID에 해당하는 유료 사용자 ID를 기록하는 테이블을 만들어서 해당 사용자만 다운로드할 수 있도록 하는 것입니다.
그런데 다른 방법이나 더 좋은 방법이 있나요?
ps:PHP

이론적인 참고를 위해 제 생각을 정리해보았는데, 전체적인 분석은
사용자 테이블, 리소스 테이블, 레코드 테이블입니다. 기록 테이블에는 사용자가 다운로드 비용을 지불했는지 여부, 다운로드 시간 및 기타 정보와 같은 정보가 기록됩니다.
위 정보에 대해 명확히 이해하셔야 하며, 이는 귀하가 설명하신 내용과 거의 동일합니다. 주요 문제는 다운로드 리소스 경로 및 권한 처리입니다.


사용자 작업 프로세스는 다음과 같아야 합니다.

리소스 목록 - 유료 리소스 세부정보 - 유료 리소스 레코드 생성 - 정적 다운로드 링크 또는 동적 링크 생성

리소스 링크를 노출하지 마세요

다운로드 링크는 매우 일반적인 리소스 경로입니다. 리소스를 연결하려면 레코드 ID를 첨부해야 합니다.

<code>    // 非
    ……resname.zip
    // 是
    index.php?id=1&…</code>

다운로드 링크에는 시간 제한이 있습니다

시간 제한이 있는 경우 반드시 시간 비교가 필요합니다. 다운로드 전 현재 시간을 컨트롤러의 생성 기록 시간 및 유효 기간과 비교하세요. 만료되면 후속 다운로드가 허용되지 않습니다.

현재 사용자만 다운로드 가능

다운로드 링크의 컨트롤러는 사용자의 로그인 여부, 레코드 ID의 유료 사용자 ID가 현재 로그인 ID와 일치하는지 확인해야 합니다. 일치하는 경우에만 다운로드가 허용되며, 그렇지 않으면 다운로드가 허용됩니다. 금지

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.