画像と動画の有料サイトを作成しています。
HTMLに動画再生のためのコードを記述しています。
************************
<object id=sound1 classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" width=700 height=500>
<param name="url" value="contents/movie1.wmv">
<param name="uimode" value="full">
<param name="autostart" value="false">
<param name="mute" value="false">
<embed src="contents/movie1.wmv" type="application/x-mplayer2" showcontrols="1" showaudiocontrols="1" showpositioncontrols="1" showtracker="1" width=700 height=500 autostart="0" clicktoplay="1" mute="0">
</object>
************************
また.htaccessで
************************
SetEnvIf Referer "●●●" ref_ok ※はドメイン名
order deny,allow
deny from all
allow from env=ref_ok
************************
と制限をかけると、画像は直リンク禁止になりましたが、
動画は再生が出来なくなりました。
※.htaccessを削除して制限を解除すると動画は正しく再生されます。
動画も画像も直リンクを正しく禁止するにはどうすればよろしいでしょうか。
教えてください。
何卒よろしくお願い申し上げます。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
どのようなプログラミング言語が使えるのか環境が分からないので大雑把な説明になりますが、まずアクセスが有る度にユニークなIDを発行します。
(これが所謂ワンタイムトークン)私は普段PHPを使ってますので
$Token = hash('sha256', uniqid($_SERVER['SERVER_ADDR'], TRUE));
と言った感じで作っちゃいます。
これをデータベース等に記録します。
この時、トークンと発行時刻を一緒に記録します。
次に、HTML上でURLを指定する際にトークンを付加しておきます。
<param name="url" value="contents/movie1.wmv?token=XXXXXXXXX">
といった感じになります。
そして、サーバに動画のリクエストが来た時にURLにくっついているトークンを取り出し、データベースから発行時刻を検索します。
発行時刻と現在時刻を比較し、一定時間以上(例えば5分とか)経過していたり、そもそもトークンがDBに登録されていなければ権限の無いアクセスと見なし 404エラー を返します。
こうすればアクセス制限が実現します。
この回答への補足
ご回答ありがとうございました。
開発はずばりPHPです。
アクセス制限のイメージはほぼ理解出来ましたが、
contents/movie1.wmv
という具合にHTMLに埋め込まれた場合、
ソースを表示とすればそのパスが推測されてしまいます。
PHPを通してアクセスしてくれればご教授いただいた対応でよいかと思いますが、
直リンクで
http://****/contents/movie1.wmv
とアクセスされてしまうとPHPでは対応できないのではないかと思います。
私の勘違いでしょうか。
画像のように.htaccessファイルで制限が掛けられるとよいのですが。
何卒よろしくお願い申し上げます。
No.2
- 回答日時:
直リンクを確実に回避する方法は今のところ存在しません。
(Refererはブラウザに設定で送信しないようにも出来ますし、偽装も簡単にできるものです)なので、直リンクかどうかを判定するためにトークンを発行してトークンがなければ直リンクと認識させます。
ワンタイム・トークンにはそれほど詳しくありませんが、この辺りが参考になるかなと。
http://www.ibm.com/developerworks/jp/opensource/ …
http://takagi-hiromitsu.jp/diary/20060409.html
実装方法としては一度だけ使用するセッションを確立するのが比較的簡単だと思います。
http://www.php.net/manual/ja/refs.basic.session. …
No.1
- 回答日時:
画像はブラウザが直接読みに行くのでリファラーが付いてきますが、動画はメディアプレーヤー等が再生を行うため、メディアプレーヤー自身がサーバに対してファイルのリクエストを行うためリファラーは付いてこないため、再生出来なくなっているのだと思われます。
手っ取り早い対策としてはワンタイムトークンをファイル名に付加して、時間で制限を掛けるという方法がいいのではないでしょうか。
この回答への補足
早速のご回答ありがとうございます。
.htaccessファイルでは無理だったんですね。
了解いたしました。
”ワンタイムトークンをファイル名に付加する”という方法があるようですが、
具体的にはどうすればよいでしょうか。
ファイル名を変えてどのように再生するのですか?
何卒よろしくお願い申し上げます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
サポートされたファイル形式お...
-
Visual Basic.NETの、Form 間で...
-
Visual C++のWindowsMediaPlaye...
-
FLASH8(flv読み込みあり)...
-
連続的に画像を受け取り、画像...
-
VBSで動画ファイルの時間を読み...
-
Flash playerを有効にするには
-
PDFファイルの倍率を変えて保存...
-
【VBA】マクロの入ったファイル...
-
個別に違う添付ファイルを付け...
-
エクセルで「特定の文字を含む...
-
スマホでtxtファイルを編集する...
-
PC内で速度を遅くした音源をCD...
-
A4の紙に印刷されている文字を...
-
拡張子「.IDJ」を、windo...
-
エアコンの冷媒 R410Aの重...
-
Googleマップに保存した地点が...
-
e-taxで送信ファイルの拡張子が...
-
Accessのソースが見れない
-
TextBoxにフォーカスを与えると...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
サポートされたファイル形式お...
-
Visual Basic.NETの、Form 間で...
-
VIDEOタグでPC上のローカルファ...
-
VBSで動画ファイルの時間を読み...
-
ダウンロードしたファイルの容...
-
連続的に画像を受け取り、画像...
-
ASPページで動画の再生
-
動画編集ソフト自作について。
-
flvの直接リンクを禁止する方法
-
●HTMLに動画を埋め込むが再生さ...
-
Visual C++のWindowsMediaPlaye...
-
撮影した動画をFLASHで見せる方...
-
クイックタイムプレイヤーのム...
-
Flash playerを有効にするには
-
DirectShowでの動画の保存
-
embedタグで画像をフルスクリー...
-
WIN32APIで動画を読み...
-
HTMLやJavaScript言語でファイ...
-
高校講座の動画が自動的?に再...
-
Chromeのaudioタグでwave再生で...
おすすめ情報