- 締切済み
直リンク禁止スクリプト(!?)を探しています。
今現在CGIで串(Proxy Server)を弾いてくれるスクリプトのセキュリティを向上させたいと思っています。 具体的には、串を弾いてくれるスクリプトを入り口に設置しても確認後のURLが表示されてしまうため、そこでブックマークされてしまうと串をはじけない問題が発生します。そこでアクセス制限スクリプトの後に表示される全てのファイルに直接アクセスされる場合、入り口までに自動的にリンクさせるようなスクリプトを探しています。 よろしく入お願いいたします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- taseki
- ベストアンサー率66% (155/233)
> ところでセクションID機能とは何なのでしょうか?(無知で大変申し訳ありません。) 「セクションID」ではありません。「セッションID」です。 意味としては、まぁ名前のとおりです。トップページで認証を受けて、その後、そのユーザーが他ページを閲覧している期間、サーバー側で「この人は認証を受けた」ことを認識・管理する方法です。 別の言い方をすると、他のページに移動しても、同じ識別子を引き継ぐことで、「トップページを経由してきた」のかどうか常にチェックする方法です。 検索すればいくらでも情報が見つかると思いますが、 たとえば↓ここなど解りやすいかと。 http://www.scollabo.com/banban/php/php_14.html
- taseki
- ベストアンサー率66% (155/233)
インデックスというのはサイトのトップのことですよね? まず、htaccess が使えないとなると…、サイト内のすべてのHTMLファイルをスクリプトファイルに置き換えなければならない、あるいはjavascriptなど使うしかないように思います。 さらに、有効になるのはそれらのファイルだけで、他のすべてのコンテンツ(画像やPDF、他)は使えません。 それを踏まえた上で… 単純にリファラを調べる方法では、「1つ前」のページしかわかりません。 「同じサイト内からジャンプしてきた」という判断をする仕組みを、トップページ以外のすべてに埋め込めば、結果的に同じ効果は得られると思いますが。 しかしリファラでは、下にも書いたようにセキュリティの問題や必要ない人まで弾いてしまったりなど、問題も多いです。 これらを無視するなら、CGIなど使わずにブラウザに処理させる方法もあります。 リファラ以外では、cookieを利用する手もあります。トップページで、言わば「通行証」のようなものを発行し、他ページでは、これを持っているかどうかチェックする、という方法です。しかし、リファラ同様に、セキュリティや必要以上に弾いてしまう問題はあります。 一番確実で無難なのはセッションIDを利用する方法ですが、少々面倒かもしれません。 フリーのスクリプトをお探しなら、「フリー cgi "セッションID"」などで検索してはどうでしょうか。 まったく別の発想として、トップページを縦横100%の(見えない)フレームにして、サイトをその中に表示、各ページでは「自分がそのフレームの中にいるかどうか」を調べる、という手も考えられます。 フレームの使用が良いかどうかは別として。 またブラウザスクリプトを使うので、前述の問題は同じですが。
お礼
即急な返答有難うございます。 お勧めしていただいたセクションIDを試してみようと思うのですがいまいちセクションIDに関して詳しく説明しているサイトが見当たりません。ご存知であれば教えていただけないでしょうか? ところでセクションID機能とは何なのでしょうか?(無知で大変申し訳ありません。)
- SV576
- ベストアンサー率28% (2/7)
念のため確認したいんですが ■プロクシを禁止すると普通、ユーザーのセキュリティが下がりますよね。この点は理解されてますか? (差し支えなければプロクシを禁止する具体的な理由を教えてください) ■最終的に禁止したいのは、直リンクですか?プロクシですか? どちらにしても方法的にはいろいろありますが、NO.1の方法が簡単でしょう。
補足
ユーザーのセキュリティではなく掲示板荒し対策などのサイトセキュリティです。 >最終的に禁止したいのは、直リンクですか?プロクシですか? 説明が不十分でした。すいません。私の要望としては別サイトからリンクされたときにインデックスでないリンクに直リンされたときインデックスに戻すスクリプトです。または、インデックスを通してないユーザーも印でクスに自動的に強制的にもどすスクリプトのことです。
- taseki
- ベストアンサー率66% (155/233)
> スクリプトのセキュリティを向上させたい すでにあるスクリプトを改造する、ということでしょうか。 そのスクリプトが良く解りませんが、 > 確認後のURLが表示されてしまうため ↑これは、認証後にコンテンツが表示され、そこから他ページにジャンプして、以後は認証を受けずにそこに直接アクセスされてしまう、という意味ですか? その場合、入り口を通っていなかったら > 入り口までに自動的にリンクさせる ということでは、たとえばリファラを利用したものではリファラを返さない環境の人は、すべて弾かれてしまう、セッションIDなど利用する手もありますが、 単純にプロクシを弾きたいなら、スクリプトを使わずに、ルートにhtaccessを1つ置いて、サイト全体でプロクシを弾けば良いだけな気がします。 これが最も簡単で効果的だと思います。 htaccess アクセス制限 などで検索すれば、たくさん情報が見つかると思いますよ。
お礼
お世話になっています。htaccess アクセス制限はサーバーの関係で使用できないんです。 基本的にはインデックスまで戻してくれるスクリプトが手に入ればいいかなと思っています。
お礼
セッションIDの説明ありがとうございました。 ところで再度質問なのですがセッションIDを簡単に管理、設置できるスクリプトを配布しているサイトはご存知でしょうか?