会員制のサイトを検討中です。(非営利)
研究論文などを集めるのですが、登録制にしようと思っています。
そこでよくある「マイページ」みたいなその人専用のページを準備したいのです。
ログイン認証後、「○●さんのページ」といったふうにその人の登録データなどがあるものです。
当方、CGIを書くなどは出来ず結局はフリーのCGIを使いますがそのような
アクセス制限、認証方法などを実現するCGIがあるでしょうか?
もしくは他のものを工夫して似た感じに出来ないかと・・・

linuxサーバーで動かします。当方はWin98環境。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

よくある「マイページ」ってのはだいたいサーバサイドJAVAで実現しているのが


最近の主流ですが。

まぁCGIでも出来ないことはないと思いますよ。
認証がとれたユーザの名前をひっこぬいてそれで条件分岐させるCGIを作れば
いいわけですから。

認証に関するスクリプトはすぐに見つかると思います。
↓ここにあるかな

参考URL:http://www.rescue.ne.jp/
    • good
    • 0
この回答へのお礼

どうもでした。
MYページとする場合、ユーザー名をTOPページに表示したり
他の人が見れないページを作りたかったんです。
論文サイトと言いつつもパクリなんかでもめるのを避けるため
個人ページが必要で・・・

認証は出来るようになりました。
ただ特定の人のみが見れるページってその数だけ必要になりそうです。
おっしゃられるような「引っ張ってくる」というレベルではないので。
管理が大変だな・・・

がんばってみます。
ありがとうございました。

お礼日時:2001/02/11 07:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Q書き込み登録制の掲示板フリーCGIありますか

掲示板を見る前にログインし、書き込みをすると、自動的にログインしたときの名前で書き込まれる掲示板CGIを探しています。(つまり事前登録制の掲示板・なりすまし防止)

Aベストアンサー

http://www.cj-c.com/cgi_s/ibbs2001.htm
パスワードがある人のみ書き込み可能にできる。閲覧は「パスワードがないと不可」「パスワードなしでも可」の両方とも選択可能。

http://www.kent-web.com/bbs/gwbbs.html
こちらは,投稿・閲覧ともパスワードがないと不可。

QCGIで出力されたホームページの情報は検索サイトに登録される?

CGIで出力されたホームページの情報は、
Googleのような検索サイトに登録されてしまうのでしょうか?

Aベストアンサー

メタタグでの拒否の場合、拒否できるのはそのメタタグを書いたファイルのみです。
書いていないものはクロールの対象になります。

ただし、メタタグの場合もrobots.txtの場合もその記述を無視する悪どいロボットもいますので、こういうロボットの場合はサーバーの設定レベルで締め出すしかありません。

QCGIで表示されるページ(hoge.cgi)に

CGIで表示されるページ(hoge.cgi)に
<meta http-equiv="Refresh" content="5;URL=www.abc.com">
とメタタグを記述し、5秒後に指定URL(abc.com)に飛ぶようにしているのですが、
この方法ですとジャンプ先(abc.com)ではリンク元(hoge.cgi)が特定できません。
ジャンプ先でリンク元URLを特定できるようにしたいのですが、何か方法はありませんでしょうか?

Aベストアンサー

 refreshの場合は、それを受け取ったブラウザは、HTTP要求ヘッダ内にrefererを含めません。含んではならない。refererは能動的に参照するという意味があるからですね。したがってサーバーの環境変数HTTP_REFERERには値が入ってこない。
 したがって他の手段を用いる必要があります。良く使われる方法は
・Cookie 
 いわゆるtracking Cookieですが、この場合セキュリティソフトで消される場合がある。
・Web ビーコン
 ジャンプ先のサーバーで画像を出力させる。セキュリティを高レベルにしていると、表示しているページのドメインと異なる場所の画像は読み込まない場合もある。
 手法については
   下記の様に、単一の画像ファイル「a.jpg」を呼び出して、 - CGI - 教えて!goo
    ( http://oshiete.goo.ne.jp/qa/5901567.html )
・PATH_INFOやQUERY_STRINGSなどに含めて、refere先のサーバーで処理する。

 私は、この3つを併用しています。最後の方法については、
・DirectoryIndexで、index.cgiを表示させるようにするか、index.htmlをCGIとして動作させる、あるいはindex.phpを使い、
 <meta http-equiv="Refresh" content="5;URL=www.abc.com/hoge.com/">
 <meta http-equiv="Refresh" content="5;URL=www.abc.com?hoge.com">
のようにする。

 処理後直ちにページを閉じた場合なども含めて確実に補足するには、3つを併用するとよい。

 refreshの場合は、それを受け取ったブラウザは、HTTP要求ヘッダ内にrefererを含めません。含んではならない。refererは能動的に参照するという意味があるからですね。したがってサーバーの環境変数HTTP_REFERERには値が入ってこない。
 したがって他の手段を用いる必要があります。良く使われる方法は
・Cookie 
 いわゆるtracking Cookieですが、この場合セキュリティソフトで消される場合がある。
・Web ビーコン
 ジャンプ先のサーバーで画像を出力させる。セキュリティを高レベルにしていると、表示して...続きを読む

Qhttp://www.test.cgi/index などのCGI名のあとのパス名

http://www.test.cgi/index
のようになっているものを見かけるときがあります。普段は
http://www.test.cgi?mode=index
などしているのですが、どのような仕組みになっているのでしょうか?
これはPerlに限らず、CGIとして動作するものなら実装できるのでしょうか?
疑問に思ってしまったので、ご回答のほどをよろしくお願いします。

Aベストアンサー

PATH_INFOと呼ばれる情報です。Perl/CGIであれば環境変数の$ENV{'PATH_INFO'}で取得する事が出来ます。クエリー(?xxx)が$ENV{'QUERY_STRING'}で取得出来る事と同じ要領です。組み合わせてtest.cgi/path/info?query=stringのようにする事も出来ます。(それぞれ上記の環境変数で別々に取り出せます。)

他の言語に関しても取得出来ます。言語名とPATH_INFOで検索をかけてみてください。(例えば『php path_info』等)

QCGIでリンクさせたページを同一のページ内の iframe に表示させるには

CGIでリンクさせたページを同一のページ内の iframe に表示させるにはどうしたらいいでしょうか?

ちなみにCGIは
--------------------
#!/usr/bin/perl
$querybuffer = $ENV{'QUERY_STRING'};
@pairs = split(/&/,$querybuffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
if( $name eq "jumpto" ) {
$jumpto = $value;# 移動先
}
}

if( $jumpto ne "-" ) {
print "Location: $jumpto\n\n";
}
else {
print "Content-type: text/html\n\n";
print qq|<HTML>\n<HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html ; charset=Shift_JIS">\n<TITLE>移動先が未指定です</TITLE></HEAD>\n|;
print qq|<BODY><H1>移動先が選択されていません。</H1><P>移動先を選択してからボタンをクリックして下さい。</P></BODY>\n|;
}
exit;
------------------
です。
iframe部分は以下のようにしています。

<iframe src="index.html" height=200 width=460>
この部分は iframe 対応のブラウザで見てください。
</iframe>

CGIでリンクさせたページを同一のページ内の iframe に表示させるにはどうしたらいいでしょうか?

ちなみにCGIは
--------------------
#!/usr/bin/perl
$querybuffer = $ENV{'QUERY_STRING'};
@pairs = split(/&/,$querybuffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
if( $name eq "jumpto" ) {
$jumpto = $value;# 移動先
}
}

if( $jumpto ne "-" ) {
print "Location: $jumpto\n\n";
}
else {
print "Content-type: text/html\n\n";
print qq|<HTML>\n<HEAD><...続きを読む

Aベストアンサー

勘違いがあったら御免なさい。
targetでフレーム名を設定していれば出来ると思います。
<a ref="http://www.xxxx.html/" target="framename">リンク</a>

参考URL:http://tohoho.wakusei.ne.jp/html/frameset.htm


このカテゴリの人気Q&Aランキング

おすすめ情報