人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ファイルへの直リンクを禁止したいのですが、apacheの設定でPCからの直リンクはリファラで禁止することができました。
しかしながら、i-mode等の一部の携帯電話ではリファラを吐かないないため、制限していないページ経由も直リンクと認識されてしまいファイルにアクセスできません。
やりたいこと
?XXX.comドメイン経由では画像を表示
?直リンクは禁止
?PCおよび携帯すべてに対応

無理難題かもしれませんが、どなたかご教授ください。

●質問者: magewappa
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:Apache i-mode pc アクセス ドメイン
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● Sampo
●100ポイント ベストアンサー

http://q.hatena.ne.jp/answer

cgiやPHPは使用可能ですか?

使用可能なら、画像はファイルを直接表示させるのではなく、スクリプトから読み込んで出力させることで制御が可能になります。

<img src="hoge.jpg">

とやるところを

<img src="graphic.php?name=hoge">

のようにやるということです。

画像を呼び出す側のHTMLも、スクリプトで出力させましょう。このとき、画像表示スクリプトに合い言葉を渡すようにします。

<img src="graphic.php?name=hoge&code=45a73b012f">

のように。このコードはIPアドレスを暗号化するなどしたものを生成して付加するようにします。

画像表示スクリプトは、コードがリクエスト元IPと一致しないと画像を出力しない、という対応ができます。


2 ● tpichu
●40ポイント

i-modeなどではリファラを吐かないほか、リファラを故意に同じサイトからのものとする(この場合XXX.com)ことも可能です。

つまり、(1)自体はなかなか難しいでしょう。

ただ、発想を変えれば擬似的に可能です。

indexファイルを除くすべての直リンク防止をしたいものをひとつのディレクトリにまとめて入れ、indexファイルのリンクを貼りなおす。これで準備は可能です。

直リンクが多くなってきたらそのディレクトリごとごっそり名前を変更してやりましょう。直リンクしようとした相手は404 Not found.もしくは403 Permission denied.に悩まされるでしょう:)

これはディレクトリ構造そのものを変えているので、CGIみたいな複雑な知識は必要ありませんし、携帯電話にも有効です。

ただ、リンクを張り替えるのにテキスト置き換えソフトがあると便利です。


私愛用の置き換えソフト

http://www.vector.co.jp/soft/win95/util/se072729.html


3 ● villain
●40ポイント

リファラはクライアント側の設定などによっては偽装したりする

ことも可能ですのでリファラでの制御は完全ではないと思います。


それこそ、BASIC認証で制御するとか他の方法を使用した方がいい

でしょう。


4 ● よたか
●40ポイント

PHP等が使えて、許可したリンク元が管理できるのであれば、リンクにPostのパラメータを持たせることで振り分けることが可能です。

ただ、この方法だとPCからは丸見えなので、携帯端末とPCとを振り分ける部分も作る必要があります。

振り分けについてはこちらが参考になると思います。

http://specters.net/cgipon/

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ