質問の表現が難しいのですが、
CGIのアクションの結果を、フレームの中の一つとして表示したいのです。
例えば、 http://www.fresheye.co.jp/ の無料メールのように、
ログイン結果をフレーム構成にしたいのです。
そのときに、表示する内容を
href=aaa.cgi?id=xxx&password=xxx
などと記載すると、リダイレクトで表示は出来るものの、
パスワードなどは丸見えになってしまいますよね?
どうしたら、
(1)ソースコードに引数を表示させず
(2)フレームの構成で表示させることが出来るのでしょう?
内容が伝わらなければ補足させていただきます。
No.1
- 回答日時:
簡単にできますよ。
<FRAME TARGET="フレーム名" METHOD="POST" ACTION="aaa.cgi">
です。formタグにターゲット指定できます。
結構知られてないみたいですが、使えますよね。
どうもありがとうございます。
これは知っていました。
私の質問の表現が至らなかったかもしれません。
どうもすみません。
これはたぶん、既にフレームが構成されているときだと思うのですが。。
“ログイン画面がフレームとして構成されていれば”出来るのでしょうが、
私がやりたいのは、“ログイン画面が全く別の場合”にも、実行結果をフレームに盛り込みたいのです。
たとえば、ログイン画面で、
<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>
とすれば良いのかなぁと思ったんです。
ところが、
これではパスワードが丸見えということで悩んでいます。
これについて、私の勘違いもあることかと思いますが、
いろいろ教えてください。
No.2
- 回答日時:
u16さんの考えているフレーム構成で呼び出すと、
通常のHTMLからの呼び出しと同じになるので、
引数を引き継げません。
なので、私の頭ではいい方法が思いつかないのですが、
対応策としては、
パスワードを暗号化してはどうでしょう?
$暗号化済みパス = crypt $パスワード(8文字まで), $暗号の種(英数2文字);
#例
$tane = "9f";#暗号化の種
$crypted = crypt ($password,$tane);
で、
パスワードチェックには、
if(crypt($password,$crypted)){
print "一致してますよ。";
}
しかし crypt関数は、暗号化を解く関数が存在しません。
一致しているかどうかの確認のみになります。
ので、
cryptしたものをパスワードとして保存してしまうと、
パスワードを紛失した人のパスワード要求に応えられませんので注意。
でもこれならパスワードを表示しても
半角英数の羅列ですので、普通の人間には理解不能です。
私のアドバイスも的が外れているので理解不能です。(爆
どうもありがとうございます。
やっぱり無理ですかねぇ。。。
フレッシュアイではどうやってるんでしょう???
暗号化が一番いいのかな・・・
ただ、これって履歴で残りませんか?
オフラインにしたあと、履歴で表示させると
CGIを実行したページが見られるのでは?
とりあえず、お礼申し上げます。
No.3ベストアンサー
- 回答日時:
すいません、こちらこそ、勘違いしていました・・・。
一番簡単な方法は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を発行します。この繰り返しですね。
やや難しいですが、これが一番簡単な方法ですよ。
どうもありがとうございます。
Cookieは今まで使ったことがないため、あまり分かりませんが、
なんとなくおっしゃってることは分かりました。
ちょっとやってみます。
_
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 【C++】IDirect3DSurfaceのディープコピーは可能ですか? 1 2022/07/06 02:47
- その他(プログラミング・Web制作) pythonのWebスクレイピングでfind_allだとurlがNoneに 4 2022/04/17 18:21
- Windows 10 windows10のクリーンインストールが完了出来ない 2 2022/06/04 13:33
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- サングラス・カラコン メガネ 3 2023/01/15 04:53
- PHP PHP MySql ページング 2 2022/09/20 06:38
- その他(プログラミング・Web制作) robots.txtが”allow”のサイトを探しています 2 2022/10/09 13:07
- MySQL MySQL,JavaScript,PHPコードの結果を表示する方法を教えてください。 1 2023/02/13 17:49
- 英語 提示した結果構文が非文となる理由について 1 2022/07/25 12:22
- Excel(エクセル) エクセルのSUM関数について 4 2023/04/18 10:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォーム要素の文字数制限について
-
燃えるゴミの日は何曜日ですか?
-
月の第一週とは
-
よくある 『 第○(1・2・3・4・...
-
エクセルで毎月第2週日の水曜日...
-
C言語始めたてで先生にこれ進め...
-
日本語問題 昨日は何曜日ですか...
-
apacheでPerl CGIが作動せず、5...
-
[Excel] ある日の曜日が当月の"...
-
週休3日制で土日の他にもう一日...
-
perlでHTTP Request Headersの...
-
指定曜日にMsgBox表示は可能で...
-
土曜日の26時って何曜日の何時...
-
cgiとplとpm
-
リストコントロールの列幅を固...
-
週2回のペースって だいたい何...
-
第○曜日であるかを取得する関数
-
HTTPヘッダの大きさ
-
c言語の質問です。 ある月のカ...
-
HTTPヘッダの取得方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォーム要素の文字数制限について
-
fc2無料HPのディレクトリアクセ...
-
フォームの文字数制限を解除したい
-
HPにアクセス制限をかけるために
-
Perlでマックアドレスの取得
-
HPのアドレス統一?
-
無料掲示板で書き込みは特定の...
-
1日1回しかアクセスできないページ
-
【再】.htaccessでアクセス制限...
-
ホームページへのパスワード設...
-
よくある 『 第○(1・2・3・4・...
-
月の第一週とは
-
エクセルで毎月第2週日の水曜日...
-
週2回のペースって だいたい何...
-
apacheでPerl CGIが作動せず、5...
-
毎○曜日って、使いますか?
-
[Excel] ある日の曜日が当月の"...
-
エクセルで相対パスの書き方を...
-
アンケートなどの1日1回の投...
-
DBを10件毎に表示ページング...
おすすめ情報