파일 관리 서브 시스템을 구현해야하는 SL 애플리케이션이 있습니다. files \ folders (그냥 설명)의 계층 적 구조가 있습니다. 또한 각 파일 \ 폴더에는 사용자 \ 그룹에 대한 자체 사용 권한이 있습니다. 파일을 다운로드 할 수있는 권한을 가진 한 명의 사용자가 다른 사용자에게 권한을 부여하지 못하도록 구현하고 싶습니다. 따라서 사용자가 다운로드 권한을 가지고 있다면 링크 www.site.com/file.rar를 다운로드하여 다운로드하십시오. 그러나 그는 허락없이 다른 사람에게이 링크를 줄 수 있습니다. 어떤 알고리즘이이 경우 더 적절합니까? 어떤 도움을 주시면 감사하겠습니다.공용 다운로드를위한 링크 보호
답변
웹 서버가 담당하고 파일 요청에 대한 인증 및 권한 부여를 제공 할 필요가 무신론자 개 언어 아니었다,이 도움이되기를 바랍니다. 이것이 일반적인 문제이므로 Silverlight에만 국한된 것은 아닙니다.
웹 서버는 현재 로그인 한 사용자 (ASP.NET을 사용하는 경우 Forms Auth 또는 Windows Auth와 같은 인증 방법 중 하나를 사용할 수 있음)에 대한 각 파일 다운로드 요청의 유효성을 검사해야합니다. 예를 들어,이 유효성 검사를 수행하고 다운로드를 허용하고 다운로드 파일의 바이트를 제공하는 HTTP 처리기가있을 수 있습니다. Here's 예를 들어, ASP.NET과 같이 계속 적용되는 것처럼 보입니다.
또는 파일 이름 대신 안전하게 생성 된 만료 (한 번 사용 하시겠습니까?) 토큰을 제공하여 권한이 부여 된 파일 요청에 매핑하고 필요할 때 다시 파일을 제공 할 수 있습니다. 이 기능은 여러면에서 관리하기가 더 어려우며 신중하게 수행하지 않으면 사용자 만족도가 떨어질 수 있습니다 (특히 다운로드가 중단되어 다시 시작해야하는 경우, 이전 토큰이 유효하지 않은 경우 등).
나는 모든 패턴이 모든 웹 플랫폼에서 사용 가능하기 때문에 기술의 특성을 무시하고 제어하고 관리하기가 더 쉽고 안정적이기 때문에 첫 번째 제안과 함께 할 것입니다.
데이터베이스에 사용 권한 정보를 저장할 수 있습니다. 그런 다음 각 사용자는 자신의 계정과 권한 집합을 갖게됩니다. 그런 다음 사용자 그룹 권한을 파일 그룹이나 개별 파일에 설정할 수 있습니다.
이것은 아마도 운영 체제 수준에 저장된 파일 사용 권한 정보를 사용하여 얻을 수도 있습니다.
그런 다음 파일 이름을 요청으로 사용하고 사용자 이름과 암호 조합을 확인한 다음 해당 파일이 해당 사용자에게 허용되는지 여부를 확인하는 동적 페이지를 만들 수 있습니다.
누군가가 해당 파일 링크로 이동하면 먼저 올바른 자격 증명을 제공하여 다운로드해야합니다. 그렇지 않으면 액세스가 거부됩니다.
나는 그것이 바로 실버 라이트 대답하지만
- 1. 보호 된 링크 만들기
- 2. 공용 Getter, CodeDOM으로 보호 된 설정자
- 3. 파일 다운로드를위한 팝업 창
- 4. 비밀번호로 보호 된 웹 사이트 링크 확인
- 5. 보호 상속 대 공용 상속 및 객체 지향 설계
- 6. 대용량 파일 다운로드를위한 MD5 체크섬
- 7. 증분 (주문형) 다운로드를위한 ExtJS 다운로드
- 8. 가장 빠른 페이지 다운로드를위한 디자인
- 9. 공용 클래스 멤버
- 10. 어떻게 링크 된 목록의 헤드 포인터를 반환하는 공용 함수를 작성합니까?
- 11. 점진적 다운로드를위한 권장 비디오 설정. (안드로이드)
- 12. java 다운로드를위한 동적 csv 파일 생성
- 13. 전자 상거래 다운로드를위한 장바구니 - 추천 요청
- 14. iPhone : iPhone 다운로드를위한 특별한 MIME 유형이 있습니까?
- 15. xsl fo에서 암호로 보호 된 기본 링크 문제 0.95
- 16. C의 공용 라이브러리는 무엇입니까?
- 17. 공용 정적 메서드 - 나쁜 기호?
- 18. XSLT 삽입으로부터 보호
- 19. 핫 링크 된 이미지에 텍스트 링크 제공?
- 20. 데이터베이스 유연성 및 개인 정보 보호, 숨겨진 구조, 소프트웨어 호환성 및 공용 권한
- 21. 보호 카운터보기는
- 22. 암호 보호
- 23. 페이지 보호
- 24. csrf 보호
- 25. 자녀 보호
- 26. 부모 클래스의 액세스를 허용하면서 공용 액세스를 제한하는 방식으로 하위 클래스의 공용 메서드를 재정의 하시겠습니까?
- 27. FTP 대신에 큰 파일 다운로드를위한 비트 토렌트 사용
- 28. 디지털 다운로드를위한 좋은 PHP 장바구니 (또는 플러그인)는 무엇입니까?
- 29. 여러 파일 다운로드를위한 UIProgressView를 업데이트하려면 (델리게이트 사용 방법)?
- 30. 최신 인터넷 익스플로러 다운로드를위한 표준, 지역 유니버설 링크를 찾고 있습니다.