-PR-
解決済み

CGIのアクション結果をフレームの中に入れるには?

  • 困ってます
  • 質問No.93887
  • 閲覧数80
  • ありがとう数7
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 40% (100/250)

質問の表現が難しいのですが、

CGIのアクションの結果を、フレームの中の一つとして表示したいのです。

例えば、 http://www.fresheye.co.jp/ の無料メールのように、
ログイン結果をフレーム構成にしたいのです。


そのときに、表示する内容を
href=aaa.cgi?id=xxx&password=xxx
などと記載すると、リダイレクトで表示は出来るものの、
パスワードなどは丸見えになってしまいますよね?


どうしたら、
(1)ソースコードに引数を表示させず
(2)フレームの構成で表示させることが出来るのでしょう?

内容が伝わらなければ補足させていただきます。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.3
レベル9

ベストアンサー率 45% (29/64)

すいません、こちらこそ、勘違いしていました・・・。

一番簡単な方法はCookieを使う方法です。送った先のCGI内でID及びパスワード認証を行います。認証に成功すればセッションIDを発行します。セッションIDをCookieに登録します。フレーム構成のHTMLを書き出します。

<frameset rows="140,*">
<frame src="top.html">
<frame src="aaa.cgi"> #※1
</frameset>

※1のCGIでCookieに登録されたセッションIDとデータベースに登録されたセッションIDを照合し、そのセッションIDを持つユーザ情報を引き出します。もちろんセッションIDは乱数なので適当に入力して入れることはありません。また、CookieにセッションIDがなければ無効ですし、Cookieは一定時間後に消去します。次のログインには新しいセッションIDを発行します。この繰り返しですね。

やや難しいですが、これが一番簡単な方法ですよ。
お礼コメント
u16

お礼率 40% (100/250)

どうもありがとうございます。

Cookieは今まで使ったことがないため、あまり分かりませんが、
なんとなくおっしゃってることは分かりました。


ちょっとやってみます。

_
投稿日時 - 2001-06-29 17:14:12
関連するQ&A
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル9

ベストアンサー率 45% (29/64)

簡単にできますよ。 <FRAME TARGET="フレーム名" METHOD="POST" ACTION="aaa.cgi"> です。formタグにターゲット指定できます。 結構知られてないみたいですが、使えますよね。 ...続きを読む
簡単にできますよ。
<FRAME TARGET="フレーム名" METHOD="POST" ACTION="aaa.cgi">
です。formタグにターゲット指定できます。
結構知られてないみたいですが、使えますよね。
お礼コメント
u16

お礼率 40% (100/250)

どうもありがとうございます。

これは知っていました。
私の質問の表現が至らなかったかもしれません。
どうもすみません。


これはたぶん、既にフレームが構成されているときだと思うのですが。。

“ログイン画面がフレームとして構成されていれば”出来るのでしょうが、
私がやりたいのは、“ログイン画面が全く別の場合”にも、実行結果をフレームに盛り込みたいのです。




たとえば、ログイン画面で、

<form method=post action=aaa.cgi>
<input type=text name=id>
<input type=password name=pass>
<input type=submit name=act value=login>
</form>

としておいて、

結果を、

<frameset rows="140,*">
<frame src="top.html">
<frame src="aaa.cgi"> #←cgiの結果画面
</frameset>

としたいのです。



この場合、「login」で“フレームを書かせるCGI”を実行し、
「frame src=aaa.cgi」 でリダイレクトするのかなぁと思ったのですが、
これだと引数を引き継げないようで。。。



そこで、

<frameset rows="140,*">
<frame src="top.html">
<frame src="aaa.cgi?id=xxx&pass=xxx&act=login">
</frameset>

とすれば良いのかなぁと思ったんです。

ところが、
これではパスワードが丸見えということで悩んでいます。



これについて、私の勘違いもあることかと思いますが、
いろいろ教えてください。
投稿日時 - 2001-06-22 20:09:49


  • 回答No.2
レベル10

ベストアンサー率 47% (88/185)

u16さんの考えているフレーム構成で呼び出すと、 通常のHTMLからの呼び出しと同じになるので、 引数を引き継げません。 なので、私の頭ではいい方法が思いつかないのですが、 対応策としては、 パスワードを暗号化してはどうでしょう? $暗号化済みパス = crypt $パスワード(8文字まで), $暗号の種(英数2文字); #例 $tane = "9f";#暗 ...続きを読む
u16さんの考えているフレーム構成で呼び出すと、
通常のHTMLからの呼び出しと同じになるので、
引数を引き継げません。

なので、私の頭ではいい方法が思いつかないのですが、
対応策としては、
パスワードを暗号化してはどうでしょう?

$暗号化済みパス = crypt $パスワード(8文字まで), $暗号の種(英数2文字);

#例
$tane = "9f";#暗号化の種
$crypted = crypt ($password,$tane);

で、

パスワードチェックには、

if(crypt($password,$crypted)){
print "一致してますよ。";
}

しかし crypt関数は、暗号化を解く関数が存在しません。
一致しているかどうかの確認のみになります。
ので、
cryptしたものをパスワードとして保存してしまうと、
パスワードを紛失した人のパスワード要求に応えられませんので注意。

でもこれならパスワードを表示しても
半角英数の羅列ですので、普通の人間には理解不能です。

私のアドバイスも的が外れているので理解不能です。(爆
お礼コメント
u16

お礼率 40% (100/250)

どうもありがとうございます。
やっぱり無理ですかねぇ。。。

フレッシュアイではどうやってるんでしょう???



暗号化が一番いいのかな・・・

ただ、これって履歴で残りませんか?

オフラインにしたあと、履歴で表示させると
CGIを実行したページが見られるのでは?


とりあえず、お礼申し上げます。
投稿日時 - 2001-06-25 19:29:44
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ