![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
毎日更新している自分の画像を、掲示板サイトや直リンクサイトで「画像url」で書かれてしまった場合に対する対処策で悩んでます。
--------------------------------------------
例
http://www.○○○.com/koshin/mainiti6-26.jpg
--------------------------------------------
画像リンクのクリックを、トップページに転送することはできないのでしょうか。
防止策のあるcgiとかがあれば紹介してほしいです><
No.5ベストアンサー
- 回答日時:
#1ですが 具体的に書きます
http://www.○○○.com/ がtoppageで
http://www.○○○.com/koshin/ に.htaccess をおく場合
###この↓から .htaccessの内容
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://www.○○○.com
#RewriteCond %{HTTP_REFERER} .+
RewriteRule ^.*$ http://www.○○○.com/ [R=301,L]
## この↑まで .htaccess
これで 通常のブラウザではRefererに http://www.○○○.com が入っていないとアクセス出来ません
ただしアクセスした人がセキュリティSOFTを使っている場合REFERERをはかない場合が有ります
そうすると、ちゃんとあなたのページのリンクを辿っても制限に引っかかります
それを解除するには 3行目の 行頭の# を消してください
ただ、その場合でも直リンクは防げますが URL欄に直接画像のURLを入れられると防げません
それから .htaccessを toppageに置くのなら
4行目を RewriteRule ^koshin http://www.○○○.com/ [R=301,L]
に変えます
##### rewriteの説明は以上
CGIでやる方法も有るには有りますが
URLを変えないでとなるとかなり面倒です 一応手順を
方法1 拡張子 .jpg をCGIとして設定
手順1.#2さんの書かれたような内容のcgiを書き file名をmainiti6-26.jpg などとします
手順2. koshin/.htaccess に
AddHandler cgi-script .cgi .jpg
などと書けば 拡張子 .jpgもCGIとして動きます
方法2. CGI+rewrite
手順1. koshin/に 適当なcgiをおきます(仮に test.cgi とします)
test.cgi の内容も #2さんの書かれたような内容ですが
Refererが正しければ=>$ENV{'QUERY_STRING'} を読み込んで それに対応した画像を表示する
(画像自体は 直接アクセスできない場所においておき CGIから読み込むことだけ出来る)
正しくなければ Toppageへ飛ばす
手順2. .htaccessに
RewriteEngine on
RewriteCond %{REQUEST_URI} !test.cgi
RewriteRule ^(.*)$ /koshin/test.cgi?$1 [L]
と書きます。
これで
http://www.○○○.com/koshin/mainiti6-26.jpg
というURLにアクセスして URL欄はそのまま変わりませんが
実は↓
http://www.○○○.com/koshin/test.cgi?mainiti6-26.jpg
へのアクセスにすり替わって test.cgi にクエリーを渡せる仕組みになっています
### しかし rewrite 一つで簡単に出来るものを
わざわざ CGIまで使うのが賢明とは思えません
また方法1 だと画像fileのfile名が変わるたびに別のcgiを用意しなくてはいけませんし
なので .htaccess が許可されていない状況のときだけ
CGIを使って URLは変わってしまいますが
http://www.○○○.com/koshin/test.cgi?mainiti6-26.jpg <=QUERY_STRINGで引数渡し
または
http://www.○○○.com/koshin/test.cgi/mainiti6-26.jpg <=$ENV{'PATH_INFO'}で引数渡し
などの方法を検討するべきかと思います。
こんにちは^^
.htaccessを使用してみたら、いくやってもエラーとなるのでサーバー会社に問い合わせてみましたところ、.htaccessは使用できないとのことでした。
早速違うサーバー会社に変更して、.htaccessにて試してみました。
結果は大満足の大成功でした!
ありがとうございます^^
自分でも色々検索して色々な手段を考えてやってみましたが、やはりスキルがないので途方に暮れてました・・
本当に感謝しておりますm(__)m
No.7
- 回答日時:
この質問の場合は ”画像リンクのクリック” と有りますので
よそのページから <A HREF="http://self.example.com/image.jpg" > hoge画像</A>
と言う状況を想定してとなるでしょうね
<IMG SRC で呼ばれた場合は おそらく#6さんの言われたようになると思います。
よそのページから勝手にIMGタグで呼ばれた場合のことも考慮するなら
TOPPAGEに飛ばすのではなく
「**.example.com 以外からの画像呼び出しは禁止です」
などと書かれた画像を表示するのも一つの手かも知れませんね
No.6
- 回答日時:
> ANo.4
> print "Location: http://www.○○○.com/koshin/\n\n";
> でいけそうな気がしますが、どうでしょう。
http://www.example.com/
index.html
<img src="http://self.example.com/image.jpg">
と書かれたHTMLファイルに対して、
この画像をクリックするとhttp://self.example.com/に移動する、つまり
http://www.example.com/index.htmlを
<a href="http://self.example.com/"><img src="http://self.example.com/image.jpg"></a>
に書き換えることだと思ってましたが。。。
<img>のsrcでLocationヘッダを使うと、
<img src="http://self.example.com/">
と同じになるんじゃないかと思ったわけですが。
No.4
- 回答日時:
>talooさん
>> 画像リンクのクリックを、トップページに転送することはできないのでしょうか。
>こういうことはできません。
print "Location: http://www.○○○.com/koshin/\n\n";
でいけそうな気がしますが、どうでしょう。
No.3
- 回答日時:
表示させないようにするのは他の方の仰るとおり、アクセス禁止の処置で対応できますが、
他人のページ(HTML)を書き換えることはできませんので、
> 画像リンクのクリックを、トップページに転送することはできないのでしょうか。
こういうことはできません。
No.2
- 回答日時:
CGIでなら、HTTP-REFERERというリンク元情報が使えると思います。
$ENV{'HTTP-REFERER'}で参照できますので、
#自分のサイトのURL
my $url = 'http://www.○○○.com/koshin';
if($ENV{'HTTP-REFERER'} =~ /^$url/){
#画像を表示する処理
}else{
#とっぷぺーじに飛ばす処理
}
みたいな感じで実装可能ではないかと思います。
HTMLの画像URLのリンクを
http://www.○○○.com/koshin/envchk.cgi?img=mainiti6-26.jpg
みたいに張り替える必要があると思いますが。。。
No.1
- 回答日時:
.htaccessが使えるなら rewrite ですね
「.htaccess Rewrite 直リンク禁止」などで検索してみてください
教えてGoo内で検索するなら
http://oshiete.goo.ne.jp/search/search.php?statu …
です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS リンクバナーのHTMLタグ。画像を変えたり、設置位置を変えるとバナー貼付け側はどう見える? 2 2023/02/01 12:01
- その他(プログラミング・Web制作) このWEB用語、WEB文章、意味が分かりますか? 理解できない人が多いようなんですが・・・ 7 2022/10/22 09:13
- PHP 画像ファイルの名前をそのままURLにする 3 2022/10/16 11:18
- その他(ブログ) なぜ、ホームページが削除されても、そのホームページ上の画像のリンク先がリンク切れになる場合 5 2023/07/15 10:24
- Excel(エクセル) Excel 毎日手作業で時間がかかって、泣きたいです、、、VBAのプロの方、助けてください。。。 3 2022/10/25 04:26
- その他(クラウドサービス・オンラインストレージ) firestorage_androidスマホでダウンロードできない 1 2022/10/25 08:18
- その他(IT・Webサービス) MacとWindows Google検索した時のURL表示の違いについて 1 2022/11/17 10:38
- HTML・CSS <a>リンクが飛ばない・・ パソコン初心者です 、本を見ながらHTMLで<a>でコードをかいたのです 6 2022/07/30 20:21
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- Illustrator(イラストレーター) イラストレーター(イラレ)で書き出した画像が荒れます… 3 2022/05/19 17:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで集計したい。
-
apacheでPerl CGIが作動せず、5...
-
掲示板専用スクリプトなどを使...
-
フォームを再送信しますか?
-
/bin/awk '{print $5}'ってどう...
-
ホームページでCGIのフォームを...
-
入力フォーム(電話番号)
-
フォームメールを受信すると文...
-
チェックボックスでのvalue値の...
-
クッキーが別PCで共有されてしまう
-
めちゃきれい
-
number 改行が追加できない
-
生成AI画像について
-
3DCG
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
-
CGIの設置が分かりません・・・
-
ホームページにCGIを設置したの...
-
ホームページにCGIを設置したの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ホームページ上でvlookup関数の...
-
直リンクの防止
-
perl/cgiでjpeg画像のクリック...
-
cgi perl 同じ変数で一つはカン...
-
通貨表示で3桁毎にカンマ(?)を...
-
EXCELファイルに誰がアクセスし...
-
《エクセルVBA》「他の人が該当...
-
URLに~/cgi-bin/~を隠す方法
-
CGIでソースがそのままでてしま...
-
FTPにて553エラー
-
ASPからJavaScriptへの受け渡し...
-
VBScriptで、ファイルから任意...
-
ラジオボタンのグループ化
-
特定のCGIだけ、作動するかわり...
-
ASPから既存のexcelブックを開...
-
VBAでサーバーにアクセスするに...
-
ApacheでのCGIについての質問
-
ASP(IIS?)のエラーについて
-
実行属性って?
-
エラーの意味がわかりません
おすすめ情報