0

ユーザーに提供するビデオファイル(iPadなどで視聴できるようにするため、mp4)があります。ただし、これらのビデオの一部は、特定の数のユーザー ポイントを持つユーザーのみが利用できます。ユーザーが十分なユーザーポイントを持っていない場合、ノードを表示できないという点で機能しています。すべてのユーザーは同じロール (ビデオ ビューアー) を持っています。問題は、ノードを表示するのに十分なユーザー ポイントを持っている人がビデオの URL を取得し、それをビデオ ビューアー ロールを持っているユーザーに渡すことができることです。十分なユーザー ポイントがない場合、その人はその mp4 を直接ダウンロードできます。

ユーザーがノードにアクセスできない場合、または何らかの方法でファイルへのパスを非表示にする場合に、mp4 ファイルへのアクセスを制限する方法を探しています。私はmp4をプライベートファイルシステムに保存していますが、ユーザーが同じ役割を持っているため、問題は解決していません.

これ (http://www.ioncube.com/html_encoder.php) を Web スペースの静的ページ (非 drupal ページ) で動作させましたが、drupal セットアップで動作させることができません。ノードにphpコードを含めてphpファイルを含めると、空白のページが表示されます。

どうもありがとう

4

1 に答える 1

1

Drupalのドキュメントにはまだ記載されていないということについて、私が言えることはあまりありません。

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

ファイルの場所とアクセスの管理

ファイルフィールドを作成するときに、このコンテンツタイプのアップロードされたファイルが保存されるサイトのファイルシステムのサブディレクトリを指定できます。サイトのファイルシステムパスは、[ファイルシステム]ページ([管理]>[構成]>[メディア:ファイルシステム])で定義されます。

ファイルをパブリックディレクトリに保存するか、プライベートファイルストレージ領域に保存するかを指定することもできます。パブリックディレクトリ内のファイルには、Webサーバーから直接アクセスできます。公開ファイルがリストされている場合、ファイルへの直接リンクが使用され、ファイルのURLを知っている人なら誰でもファイルをダウンロードできます。プライベートディレクトリ内のファイルには、Webサーバーから直接アクセスすることはできません。プライベートファイルがリストされている場合、リンクはDrupalパスリクエストです。Drupalは各ファイルのダウンロード要求のパスを解決する必要があるため、これによりサーバーのロードとダウンロードの時間が長くなりますが、アクセス制限は可能です。

パブリックファイルのベストプラクティスは、sites / default/filesのようなマルチサイトディレクトリに保存することです。

ファイルのプライベートディレクトリを安全に追加するデフォルトの方法は、Webサーバーから直接アクセスすることはできないが、Drupalからはアクセスできるディレクトリを使用することです。理想的には、このディレクトリはDrupalルートフォルダの外に配置する必要があります。

ファイルのプライベートディレクトリを追加する簡単な方法は、sites / default / files/privateのようなパブリックディレクトリの下にサブディレクトリを作成することです。

admin / config / media / file-systemでプライベートディレクトリを指定すると、サブディレクトリが自動的に作成され、すべてから拒否された単純な.htaccessファイルが作成されます。これにより、Apacheはこのディレクトリからファイルを提供できなくなります。そのディレクトリにファイルを追加し、そこを直接参照できないことを確認して、これをテストしてください。これが機能しない場合、このディレクトリ内のすべてのファイルは、URLを推測できる人なら誰でもアクセスできます。Apache以外のWebサーバーでは、プライベートファイルディレクトリを保護するために追加の構成が必要になる場合があることに注意してください。

プライベートファイルへのアクセス

設定すると、プライベートディレクトリに保存されているファイルに直接リンクを介してアクセスできなくなります。ただし、Drupalがファイルへのリンクを作成すると、リンクを表示できるすべてのユーザーがファイルにアクセスできるようになります。

例:サイトのプライベートファイルディレクトリにファイルを保存するファイルフィールドを使用して、新しいコンテンツタイプを作成しました。次に、この新しいコンテンツタイプからノードを作成し、2つの新しいファイルを添付します。ノードが公開されると、添付された両方のファイルへのリンクが表示され、ノードを表示できる人は誰でもファイルをダウンロードできます。これで、ノードを非公開にすると、ノードが公開されたときに機能していたファイルへの直接リンクを使用しても、添付されているすべてのファイルにダウンロードできなくなります。

ノードを再公開し、ファイルの1つで[表示]チェックボックスを無効にします。ノードを保存します。これで、一方のファイルにパブリックダウンロードでアクセスでき、もう一方のファイルにアクセスできなくなります。リストされていないファイルの直接URLを持っている場合でも、このファイルをダウンロードすることはできません。

添付ファイルを表示/ダウンロードできるユーザーをよりきめ細かく制御するには、追加のアクセス制御モジュールが必要になります。モジュールを自分で作成することも、 ContentAccessなどの提供されたモジュールを使用することもできます。

于 2012-08-25T19:21:57.193 に答える