2012-08-25 2 views
0

사용자에게 제공하는 비디오 파일 (ipad 등으로 볼 수있는 mp4 파일)이 있습니다. 그러나 일부 동영상은 특정 사용자 수를 가진 사용자 만 사용할 수 있습니다. 사용자가 충분한 포인트를 가지고 있지 않으면 노드를 볼 수 없다는 점에서 나는 그 일을했습니다. 모든 사용자는 동일한 역할 (비디오 뷰어)을 가지고 있으며 문제는 사용자 지점이 충분히있는 사람이 노드를보고 비디오 URL을 가져와 비디오 뷰어 역할을 가진 사람에게 줄 수는 있지만 문제는 없다는 것입니다 충분한 사용자 포인트를 가지고 있고 그 사람은 그 mp4를 직접 다운로드 할 수 있습니다.drupal에서 mp4 파일의 경로를 숨기거나 암호화하거나 변경합니다.

사용자가 노드에 액세스 할 수 없거나 파일 경로를 숨기는 경우 mp4 파일에 대한 액세스를 제한하는 방법을 찾고 있습니다. mp4는 개인 파일 시스템에 저장되어 있지만 사용자가 동일한 역할을하므로 문제가 해결되지 않았습니다.

나는 (http://www.ioncube.com/html_encoder.php) 내 webspace (드루팔 (drupal) 페이지가 아닌)에서 정적 페이지 작업을하고 있지만 drupal 설정에서 작동하지 않습니다. 내 노드에 php 코드를 포함 시켜서 php 파일을 포함 시키면 빈 페이지가 생깁니다. 많은 내가 드루팔 문서가 이미하지 않는 이것에 대해 말할 수 없습니다입니다

많은 감사

답변

1

. 당신이 파일 필드를 만들 때이 콘텐츠 유형에 대한 업로드 된 파일이있을 것입니다 어디에, 당신은 사이트의 파일 시스템의 하위 디렉토리를 지정할 수있는 파일 위치 및 액세스

관리

http://drupal.org/documentation/modules/file#access

저장된. 사이트의 파일 시스템 경로는 파일 시스템 페이지 (관리> 구성> 매체 : 파일 시스템)에서 정의됩니다.

또한 파일을 공개 디렉터리에 저장할지 개인 파일 저장 영역에 저장 할지를 지정할 수도 있습니다. 공용 디렉토리의 파일은 웹 서버를 통해 직접 액세스 할 수 있습니다. 공개 파일이 나열되면 파일에 대한 직접 링크가 사용되며 파일의 URL을 아는 사람은 누구나 파일을 다운로드 할 수 있습니다. 개인 디렉토리의 파일은 웹 서버를 통해 직접 액세스 할 수 없습니다. 개인 파일이 나열되면 링크는 Drupal 경로 요청입니다. Drupal은 각 파일 다운로드 요청에 대한 경로를 확인해야하지만 액세스 제한을 허용하므로 서버로드 및 다운로드 시간이 늘어납니다.

안전하게 파일을 개인 디렉토리를 추가하는 기본 방법으로하는 것은 할 수있는 디렉토리를 사용하는 사이트/기본/파일 : 공공 파일에 대한

가장 좋은 방법은 같은 다중 사이트 디렉토리에 저장하는 것입니다 웹 서버에서 직접 액세스하지 말고 Drupal에서 액세스 할 수 있습니다. 이상적으로이 디렉토리는 Drupal 루트 폴더 외부에 있어야합니다.

파일에 대한 개인 디렉토리를 추가하는 가장 간단한 방법은 공용 디렉토리와 같은 아래에 하위 디렉토리를 생성하는 것입니다 : 개인 사이트/기본/파일/

당신이 관리/설정에서 개인 디렉토리를 지정하면/media/file-system 디렉토리 하위 디렉토리 &을 자동으로 생성하여 모든 사람이 거부하는 간단한 .htaccess 파일을 만듭니다. 그러면 Apache가이 디렉토리의 파일을 제공하지 않게됩니다. 해당 디렉토리에 파일을 추가하고 직접 찾아 볼 수 없는지 확인하여이를 테스트하십시오. 이것이 작동하지 않으면이 디렉토리의 모든 파일에 URL을 추측 할 수있는 모든 사용자가 액세스 할 수 있습니다! 비 Apache 웹 서버는 개인 파일 디렉토리를 보호하기 위해 추가 구성이 필요할 수 있습니다.개인 파일

일단 구성, 민간 디렉토리에 저장된 파일을 직접 링크를 통해 액세스 할 수없는 액세스

; 그러나 Drupal이 파일에 대한 링크를 구성하면 링크를 볼 수있는 모든 사용자가 파일에 액세스 할 수 있습니다.

예 : 사이트의 개인 파일 디렉토리에 파일을 저장하는 파일 필드가있는 새로운 콘텐츠 형식을 만들었습니다. 다음으로이 새 컨텐츠 유형에서 노드를 작성하고 두 개의 새 파일을 첨부하십시오. 노드가 게시되면 두 첨부 파일 모두에 대한 링크가 표시되고 노드를 볼 수있는 모든 사용자가 파일을 다운로드 할 수 있습니다. 이제 노드 게시를 취소하면 노드를 게시 할 때 작동하는 파일에 대한 직접 링크를 사용하더라도 첨부 된 모든 파일을 다운로드 할 수 없게됩니다.

노드를 다시 게시하고 파일 중 하나의 "표시"확인란을 비활성화합니다. 노드를 저장하십시오. 이제 한 파일은 공용 다운로드가 가능하고 다른 파일은 액세스 할 수 없습니다. 나열되지 않은 파일의 직접 URL을 갖고 있어도이 파일을 다운로드 할 수 없습니다.

첨부 파일을 보거나 다운로드 할 수있는 사용자를 세밀하게 제어하려면 추가 액세스 제어 모듈이 필요합니다. 직접 모듈을 작성하거나 Content Access과 같은 공헌 모듈을 사용할 수 있습니다.

+0

이 설치가 잘못되어 있지 않으면, 여전히 모든 사용자에게 허용 된 역할의 액세스 권한이 파일에 제공됩니다. 내가 원하는 것은 사용자가 관련 노드에 대한 액세스 권한을 갖고 있는지 확인하는 것입니다. 그렇다면 파일을 가져올 수 있습니다. 그렇지 않으면 액세스 할 수 없습니다. 어느 쪽이든 그것을 잡을 수 없도록 HTML의 비디오 URL을 숨기거나 숨 깁니다. –

+0

개인 파일 옵션은 사용자가 노드에 액세스 할 수 있는지 확인하고, 그렇다면 해당 노드의 파일에 대한 액세스를 허용합니다. 노드에 대한 사용자의 액세스를 제한하면 노드의 파일에 대한 액세스도 제한됩니다. [특정 노드에 대한 액세스를 제한 할 수있는 많은 모듈] (http://drupal.org/project/modules?filters=tid%3A13434%20drupal_core%3A103%20bs_project_sandbox%3A0&solrsort=sis_project_release_usage%20desc)이 있습니다. – HaleFx

관련 문제