• ベストアンサー

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

会社でホームページを作成しています。 その中で、メールフォームのようなものを作成し、名前などを入力して、送信してもらった人だけに、 その後のページを見せたいのです。フォームは作成(フリーのものをカスタマイズ)したのですが、 今のものだと、送信してもらった後に見せるページを ブックマークされてしまうと、同じ方が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

  • ホームページの作成について

    上場会社のホームページを外部に委託して制作を考えております。 その中でCGIやSSIを使用して入力フォームの作成を考えておりますが、セキュリティーの関係で悩んでおります。 現在、入力フォームはありませんが、自社サーバーで公開しております。CGIやSSIを使用して入力フォームを作成した場合のサーバーは、ホスティングサーバーなどを利用して分けた方がよろしいのでしょうか? 方法は、次のとおり考えております。 1.すべて自社サーバーで公開する。 2.CGIやSSIを使用したページのみをホスティングサーバーで公開する。 3.すべてホスティングサーバーで公開する。 一般的には、どのような形をとっているものなのでしょうか? お教え願います!

    • ベストアンサー
    • CGI
  • メールフォームを作成したい

    お世話になります。 今、とあるイントラネット上で、問い合わせフォームを作成し、メールで内容を送信するページを作成して欲しい、といわれました。 早速フリーのCGIを編集しなおしてテストしてみたのですが、肝心なことにsendmailがないことに気づきました。 ただ、ユーザーが使用するメーラーはoutlookとは限らず、<form>の中で"mailto:..."を宣言するだけではダメなのです。 サーバはOSwin2000、SSIです。perlは以前から必要だったのでインストール済み、後はおそらくsendmailの処理だけなのですが、sendmailをイントラネットサーバに入れることは簡単なのでしょうか。入れるとしたら考慮する点はどんな事でしょうか。もしくは、sendmailを使用しない方法等ご存知の方、教えてください。 現在の仕様はいわゆる一般的なメール送信フォーム、htmlとplで動かすものです。 どうぞよろしくお願いします。 説明が上手く出来なかったので補足が必要であればご指摘お願いいたします。

    • ベストアンサー
    • CGI
  • フォームの入力制限(特定文字)についてHelpです。

    JavaScriptを使った送信フォームの文字制限について教えてください。 HTMLで送信フォームを作成して、プロバイダ標準のフォームCGIで送信したいのですが、メールアドレスの入力欄をhotmailとかgooなどのフリーメールを入力したら、送信できないようにしたいのですが、どなたか教えてください。

  • フォームメールの作成

    フォームメールの作成についてお尋ねします。 jpgなどのファイルを選択して、送信してもらうメールフォームを設けようと思うのですが、フリーCGIで活用できそうなものがあれば紹介下さい。 ある程度デザインのカスタマイズも容易であればありがたいです。 あるいはmailto:ではファイル選択の項目はできないのでしょうか。 宜しくお願い致します。

  • CGIがわかりません・・・。

    会社のHPを作成しようとしています。 お客様の名前や住所等を記入して頂いて、送信するという風にしたいのですがイマイチよくわかりません。 HPビルダー2001を使用しているのですが、なにやら"CGI"を使わなくては、いけないのですよね? 色々なページを見たのですが、全くCGIが理解できません・・・。 私のやりたいことはどうしたら出来るのでしょうか・・・。 メールフォームのレイアウトはもう出来たのですが、それをどうしたら"送信"が使えるようになるのでしょうか? CGIとは、そのレイアウトに付け足すだけでいい物なのか、それとも何か起動させるために必要なのか? CGIとは、ズバリ何でしょうか? 愚問ですが、とっても困っています。 どなたか教えて下さい、宜しくお願いします。

    • ベストアンサー
    • CGI
  • こんな【無料レンタルフォーム】をご存知ありませんか???

    今まで、CGI-Makerと言う、 ■無料 ■SSL対応 ■パソコンは勿論、携帯からのフォーム入力・送信も可能 ■フォームのカスタマイズ可能 と、無料で高機能なレンタルフォームを使用してきました。 http://www.cgi-maker.com/index.html しかし、12月10日で無料サービスは終了する、とのメールが来ました。 仕方なく、新しく同じようなサービスのレンタルフォームを探してみたのですが、 SSLは有料だとか、携帯は有料などで、 CGI-Makerと比べるとかなり劣ったレンタルフォームしか見付けられませんでし た。 そこで、 ■無料 ■SSL対応 ■パソコンは勿論、携帯からのフォーム入力・送信も可能 ■フォームのカスタマイズ可能 このような条件を満たすレンタルフォームをご存知の方、 是非お教え頂けないでしょうか? 実際に使用してみえる方でも、存在を知ってみえる方でも、 もしオススメの所がありましたらよろしくお願い致します。

  • 何度もすみません…★

    この質問は2回目なのですが、どうしても分からず 再び質問させて下さい…。 そして、どなたかお力を…。 以下のようなサイトを製作中でして… 【記事Aページ】   【記事Bページ】   【記事Cページ】  ↓              ↓        ↓  → → 【問い合わせフォーム】 ← ← この時、例えば記事Aページから 入力フォームページへアクセスしたとします。 すると入力フォームには、以下の様な画面が 表示され… 記事A 名前【  】 性別【  】 《送信》《取消》 記入事項を埋めて《送信》をクリックすると、 以下の様な確認画面が表示され… 記事A 名前【xxx】 性別【xxx】 《送信》《戻る》 そして、送信されたメールには… 記事A 名前 xxx 性別 xxx と、表示される。 と、このようなページを作りたいと考えております。 そこで分からないのは、記事Aという項目を、 入力フォームにアクセスした段階で、 フォームには既に表示されていて、 尚且つ送信内容に含ませる方法です。 フォームへのリンクのURLの末尾に記事Noを記述し フォーム側のCGIで受け取り表示する…とは聞いたものの、やり方がまったく分かりません。 CGIはPerlを使用しています。 やはり、記事ごとにフォームを 用意しなければ駄目でしょうか?

  • スマホサイトのフォームについて

    スマートフォン用のフォームページを作成したのですが、ひとつ問題があって困っています。 添付ファイルが使えるフリーのPHPを使っているのですが、入力後、確認画面に移りそのまま送信するのは問題ありません。 ただ、入力後、確認画面に移り、前のページ(入力画面)に戻った後、再び確認画面に移った直後にリロードが始まり、未入力状態の入力画面に戻ってしまいます。こうなると何度再入力しても同じ結果になってしまいます。 どうしても解決できないため、別のCGIのフォームに切り替えたのですが、これも同じ結果です。 スマートフォンならではの理由があるのでしょうか? それから、この状態の解決方法を教えてください。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • ファイル添付有メールフォーム

    画像ファイルを添付してメールで受け取れるフォームを作成しているのですが、添付のボタン等も出来上がり、 いざ送信すると普通に送信されましたのメッセージが出るので、一安心と思いメールを開くと、パス名だけが 入力されているだけで添付ファイルが送られません。これは作成ミスなのでしょうか?それともCGIが未対応 なのでしょうか?ちなみにCGIはホームページビルダー12についていたCGIを使用しています。 もしCGIの問題であれば、フリーでダウンロードできるサイトはありますでしょうか? 分かる方宜しくお願いします。

  • HTTPでフォームを送信したい

    JavaScriptで書かれた認証文字数チェックがある ユーザIDやパスなどの入力フォームを 本来サブミットで送信する内容を HTTPでPOSTまたはGETして、直接cgiにフォーム内容を 送信したいのですがその様なことは可能でしょうか? 可能でしたら方法やその理屈を教えていただけません でしょうか? 理由 通常ブラウザでアクセスするページを 専用のクライアントを作成し通信したいため submit形式のフォームをPOSTかGETで処理したい。

このQ&Aのポイント
  • ホームネットワークサーバー powered by DiXiMがサービス停止してしまう問題について解決方法を探ってみましょう。
  • 再インストールや再セットアップせずに正常に使用できるようにする方法を紹介します。
  • NEC 121wareのソフトウェアアップデートも済ませて、PC-GD18CUCAFで使用しているWindows10の環境で問題を解決しましょう。
回答を見る

専門家に質問してみよう