2

リソースをプライベートにする方法はありますか?

私はビデオコンテンツサイトを持っています。彼らはアップロードします。ファイルはWebサーバーに保存されます。

ファイルはサイトに埋め込まれます。

今、私がグーグルクロームで「ソースコード」を見ると、私は見ます:

<object classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" height="400" width="600" >
<param name="URL" value="/Videos/Tree%20Felling.wmv" />
<param name="autoStart" value="False" />
<param name="uiMode" value="full" />
<param name="stretchToFit" value="True" />
<param name="volume" value="75" />
<embed src="/Videos/Tree%20Felling.wmv" width="600" height="400" type="application/x-mplayer2" autoStart="False" uiMode="full" stretchToFit="True" volume="75" />
</object>

ご覧のとおり、場所がわかりました。これをサイトアドレスに追加すると、ビデオに直接アクセスできますか?つまり、ファイルを保存するか、ログインが行われていない他の場所からファイルにアクセスできます。

URLを使用して、Webサイトなどに埋め込むのをやめさせるにはどうすればよいですか。

それとも私は間違って考えていますか?

どうすればそのようなことを防ぐことができますか?

4

2 に答える 2

1

これは難しい問題です。私の解決策は、カスタムHttpHandler(msdn article)を作成し、それをカスタム拡張機能* .zzzに割り当てることです。したがって、埋め込み要素のsrcを生成すると、次のようになります。/Videos/uploaded.zzz?id= {someId}。次に、HttpHandlerで、IDを要求されているビデオに解決し、応答して返します。/Videos/uploaded.zzz URLに直接リンクしている人が心配な場合は、メディアファイルを返す前に、ハンドラーコード(ProcessRequestメソッド)でユーザーが許可されている(要求中にログインしている)かどうかを確認できます。ファイルへのリクエスト数に基づいてスロットルを追加するなど、好きなだけファンシーを得ることができます。

私はこれをテストするためのコードを書いていませんが、それはかなり些細なことです。

于 2012-08-14T21:16:50.070 に答える
1

これに続いて、私は別の質問を見つけました。

解決策は、アクセスを拒否するフォルダーにweb.configを追加することです。

<?xml version="1.0"?>
<configuration>
    <system.web>
        <authorization>
            <allow users="*"/>
            <deny users="?" />              
        </authorization>
    </system.web>
</configuration>

つまり、メディアへのアクセスを許可するには、Webサイトにログインする必要があります。したがって、カントリーチのビデオ/コンテンツ。

于 2012-08-15T09:18:08.167 に答える