• ベストアンサー

ブックマークされないようにする

会社でホームページを作成しています。 その中で、メールフォームのようなものを作成し、名前などを入力して、送信してもらった人だけに、 その後のページを見せたいのです。フォームは作成(フリーのものをカスタマイズ)したのですが、 今のものだと、送信してもらった後に見せるページを ブックマークされてしまうと、同じ方が2回目以降に来られた時に、ブックマークから開くことができてしまいます。 同じ方でも、来られるたびにフォームに入力して頂きたいと考えていますので、ブックマークされない又はされてもブックマークからは正常に表示されないようにしたいのですが、 どのようにすれば良いのでしょうか。 当社のサーバは、SSIは使用不可ですが、CGIは使用可です。 フリーで提供されているCGIのページも探していますが、ユーザー認証(名前とパスワードを入力してもらう)のものは、 その後のページのURLが分からないようにできるのは、見つけたのですが…。

質問者が選んだベストアンサー

  • ベストアンサー
  • feininger
  • ベストアンサー率41% (74/180)
回答No.5

フォーム入力直後に制限したいページを CGIで 表示するのなら特にテクニックは必要ないかと。 フォーム入力がなければ表示もしない。というだけですから。 入力直後ではなく、フォーム入力から時間をおいてアクセスさせるのであればReferrerやクッキー、一回限りのパスワードを発行。などの手が使えます。(一回限りのHTMLファイルを用意する。というのもありかな?) どちらにしろユーザー側でHTMLソースを保存されたらそれまでなので、 どういう制限が有効か?を判断したほうがよいですよ。

benny12
質問者

お礼

お答え頂いた方皆様に対して補足という形で答えさせて頂きます。 分かりやすく載っていたページを見つけまして、そこに載っていた方法(JavaScriptでReferrerを使用する)でやってみたのですが、 JavaScript未対応のブラウザ(あるいは対応しているブラウザでも JavaScriptの機能をオフにすると)では、ブックマークなどからでも正常に表示されてしまいました。 そこで、他の方法はないかと探していまして、今度はCGIで表示する方法にしました。 この方法に対してのアドバイスや他に簡単にできる方法がありましたら、またお教え頂ければ幸いです。

その他の回答 (5)

  • feininger
  • ベストアンサー率41% (74/180)
回答No.6

見せたくないページをHTMLファイルではなくCGIのデータファイルとして格納し、CGIを経由しなければ閲覧できないようにすれば実現できるかと。 表示用CGIで閲覧するためにはパスワードを入力するか、URLにパスワードが付加していないと表示しないようにすれば制限できるし、メールフォームの入力もCGIであればページ表示用のCGIとしても併用するのもあり。

benny12
質問者

お礼

再度のご回答ありがとうございました。 おっしゃられた通りCGIファイルにして、CGI経由の形にしました。 お蔭様で無事に公開する事ができました。

noname#6493
noname#6493
回答No.4

・フォーム送信後のページでクッキーを発行する。 ・目的のページでクッキーを読み込む。 ・読み込む内容が無い・もしくは違っている場合はトップページに強制移動。 ・クッキーの有効期限を限りなく短く設定する。 ・毎日、発行するクッキーの内容を変えるのが望ましい。

benny12
質問者

お礼

ご回答ありがとうございました。 クッキーでの設定も考えまして、Web上を探しました。この事が書いてあるページも見つけましたが、難しそうでしたので…。(^^;;

  • goroyo
  • ベストアンサー率75% (3/4)
回答No.3

CGIへの外部からのリンクや、ブックマークからの直接アクセスを禁止したりする事の出来るプログラムなら、CGIROOMさんのフリースクリプト、「KEEP OUT」ならできますよ。 参考になさってはどうでしょうか?(改造は禁止ですけど)

参考URL:
http://cgiroom.nu/
benny12
質問者

お礼

ご回答ありがとうございます。参考にさせて頂きます。 「KEEP OUT」をそのまま使えたら良いのですが、使えるかどうか検討してみます。

  • old98best
  • ベストアンサー率36% (1050/2908)
回答No.2

リファを利用すると楽だと思います。 リファというのは、直前のページがどこだったかという情報です。 これは、公開されている技術ですから不正な物ではありません。 具体的には、入力を終わったら、一度あるページにジャンプさせて、そのページから目的のページにジャンプさせてください。 そのページ以外からブックマークで飛んできた場合には、入力フォームのページへ飛ばせば良いでしよう。 これらは、ページ内のスクリプト、つまりページの中の、タグ構文だけでの処理ですから、CGIなどは無関係です。

benny12
質問者

お礼

ご回答ありがとうございます。CGIも使用しなくて良いと言うことは、さほど難しくなさそうかなという気がするのですが、「リファ」の利用方法が分かりません…。 参考になるホームページなどがありましたら、お教え頂けないでしょうか。

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

仕組み上、無理だと思いますよ。 くる人だって、ブックマークからきたほうが きやすいというのもあるでしょう。

benny12
質問者

お礼

ご回答ありがとうございました。 確かに見る人はそうですよね。

関連するQ&A