画像と動画の有料サイトを作成しています。
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を探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】看板の文字を埋めてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・【穴埋めお題】恐竜の新説
- ・我がまちの「給食」自慢を聞かせてっ!
- ・冬の健康法を教えて!
- ・一番好きな「クリスマスソング」は?
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
連続的に画像を受け取り、画像...
-
●HTMLに動画を埋め込むが再生さ...
-
サポートされたファイル形式お...
-
Visual Basic.NETの、Form 間で...
-
ライブストリーミング動画の再...
-
javaを使ってMP4を再生させるには
-
Mac FLVのクイックルックがで...
-
mp4動画をDVDプレーヤーで再生...
-
WIN32APIで動画を読み...
-
【VBA】マクロの入ったファイル...
-
PDFファイルの倍率を変えて保存...
-
2枚、マイクロSDカードを入...
-
スマホでtxtファイルを編集する...
-
HTMLでアンカーをはりPowerPoin...
-
ファミコンソフトの裏に書いた...
-
このゲーム(フラッシュ)のダ...
-
多数の見開き画像を自動で二分割
-
python文字化けエラーが発生し...
-
マイクロミニはいくつまで穿い...
-
エクセルで「特定の文字を含む...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
サポートされたファイル形式お...
-
Visual Basic.NETの、Form 間で...
-
VIDEOタグでPC上のローカルファ...
-
VBSで動画ファイルの時間を読み...
-
ダウンロードしたファイルの容...
-
音楽の再生ってどうやるの?
-
Visual C++のWindowsMediaPlaye...
-
連続的に画像を受け取り、画像...
-
動画編集ソフト自作について。
-
アドエスに入れたTCPMPでYoutub...
-
javaを使ってMP4を再生させるには
-
embedタグで画像をフルスクリー...
-
Flash playerを有効にするには
-
ホームページにMP3形式で音楽...
-
WIN32APIで動画を読み...
-
HTMLやJavaScript言語でファイ...
-
ActionScript3.0のMP3プレイヤ...
-
FLASH8(flv読み込みあり)...
-
ASPページで動画の再生
-
●HTMLに動画を埋め込むが再生さ...
おすすめ情報