![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
>リンク先がHTMLじゃない場合
直接PHPやPerl等でファイルをリードすると、ダウンロードしたりURL表記なくても表示できたりします。
#4さんの通り、Content-Typeを正確に記述しないと意図せぬ動作しますが・・・
Ex)
$Sample = "Sample.csv";
$file_length = filesize($Sample);
header("Content-Disposition: attachment; filename=$Sample");
header("Content-Length:$file_length");
header("Content-Type: application/octet-stream");
readfile ($Sample);
スクリプトはPHPですが、こんなかんじですね。
>HTTP REFERER
#2さんのリファラのことです。
なので、#3さんの回答と#2さんの回答は同じことですね。
直リン禁止うんぬんを持ち出してきた意図はわからないですが、多分質問とは関係ないですね。
(内容理解されてなさそうな気もしますが・・・)
No.4
- 回答日時:
>リンク先が、エクセル、ワード、写真、PDFになると、
直接リンクせず、cgi等を経由して出力するといいでしょう。
1.リファラをチェックする
2.Content-Typeヘッダを適切に出力する
3.対象ファイルを読み込んで出力する
<a href="fileout.cgi&filename=test.doc"> みたいな感じで、ファイル名をパラメータにするなら、意図しないファイルを出力してしまわないようなパラメータ値のチェックも必要です。
No.3
- 回答日時:
>目的は、トップページからしか入れないようにしたいのです。
すべてのページをHTTP REFERERを参照してCGIで出力するのが確実。
ただし、セキュリティ対策ソフトでHTTP REFERERを停止している訪問者には一切表示できなくなる。
★{直リンク禁止}この質問、ここ数年、すっかり影を潜めたので、啓蒙されたのかなと思ってました。これは、「私の本は、表紙から順番に読まなければならない」と著者が強制していることなのですよ。
「無断リンク禁止/直リンク禁止」命令に関する想定問答集 ( http://park5.wakwak.com/~tanaka02b/column/faq.htm )
続・「無断リンク禁止/直リンク禁止」命令に関する想定問答集 ( http://park5.wakwak.com/~tanaka02b/column/faq2.htm )
を良くお読みください。
特に、初めに ( http://park5.wakwak.com/~tanaka02b/column/faq.ht … )はね。
No.2
- 回答日時:
アドレスバーのないウィンドウは、他の方がお書きのように、ブラウザ設定で無効に出来ます。
セキュリティのためにそれが標準のブラウザもあるかと。目的が、トップページからしか入れないようにと言うことであれば、トップページ以外のページをすべてPHP等で作って、その中でリファラー(リンクの前のページ)のURLを確認して自分のサイト内部でなければ、トップに飛ばす等の仕組みを作り込むのがいいでしょう。
ブラウザの設定でリファラーの送信を無効にすることも出来ますが、その場合は、トップページから先に進めなくなるので目的は果たしてます。
あるいは、全部FLASHで作るとか。
この回答への補足
早々に、ご回答ありがとうございました。
早速、試しました。前後関係を認識させるようにすると確かに途中から入れません。活用します。
しかし、リンク先が、エクセル、ワード、写真、PDFになると、その方法がわかりません。何か方法がありますか。もし、わかれば、再度ご回答ををお願いします。
No.1
- 回答日時:
別ウィンドウを開いて、そこでURLを見せないようにするというのは、偽サイトが本物になりすますという攻撃によく使われたため、最近のブラウザはその機能が使えないようにしてあるかもしれません。
トップページ以外のURLをパッと見で見えなくするには、フレームやインラインフレームを使えば可能です。フレームを使ってトップページ以外のページのURLをURL欄に出さなくする方法はwebs.toで始まるページで昔良く見ましたね。
まぁ、ブラウザ上でたどって表示できる以上、URLを完全に隠すことはできませんけど、ブックマークなどをしたときに変なページをブックマークされないようにするにはフレームは十分有効な方法だと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
URLの表示を隠す方法
-
特定のCGIだけ、作動するかわり...
-
ダウンロードのダイアログボッ...
-
EXCELファイルに誰がアクセスし...
-
CGIでソースがそのままでてしま...
-
《エクセルVBA》「他の人が該当...
-
FTPにて553エラー
-
VBAでサーバーにアクセスするに...
-
イントラネットのwebページのア...
-
ASPから既存のexcelブックを開...
-
イントラネット用HP アクセス解...
-
メールフォームのCGIでデータが...
-
ホームページのレイアウトが崩...
-
ASPからJavaScriptへの受け渡し...
-
apache で /cgi-bin/にアクセス...
-
Perlプログラム上でアラートを表示
-
SSIの日付の文字化けの対処方法...
-
CGIでF5連打されたときにガード...
-
CGIエラー
-
perlからJavascriptを起動
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定のCGIだけ、作動するかわり...
-
CGI経由PDFダウンロードでエラー
-
cgiファイルがダウンロードでき...
-
ダウンロード後 zipファイル削除
-
ファイルダウンロード後に、デ...
-
cgiでファイルダウンロード時の...
-
ダウンロードのダイアログボッ...
-
EXCELファイルに誰がアクセスし...
-
《エクセルVBA》「他の人が該当...
-
VBAでサーバーにアクセスするに...
-
URLに~/cgi-bin/~を隠す方法
-
ラジオボタンのグループ化
-
FTPにて553エラー
-
VBScriptで、ファイルから任意...
-
CGIでソースがそのままでてしま...
-
ApacheでのCGIについての質問
-
MT/カスタムフィールドでのPDF...
-
WEBデザイナーの方にお聞きした...
-
.htaccessを2つ以上設置した場合
-
画像アップ時のエラー
おすすめ情報