cgi初心者のdejifuraと申します。どうか助けてください。
「パスワード認証後に、ユーザーIDごとにそれぞれのページへリンクさせたい。」
「ユーザーIDが○○(完全一致)ならば、http://www.dejifura.com/○○.htmlへリンクする」
以上の内容を行いたく、パスワード認証のCGI設置はできたのですが、それ以降がわかりません。
リンク先を振り分けるCGIを一度ダウンロードにしたのですが、私の力では振り分け条件を変更することができませんでした(設置場所がおかしいのかも)。ぴったりのCGIがダウンロードできる場所か、振り分け条件の変更方法のわかる方がいらっしゃいましたらどうか助けてください。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
この回答への補足
早速のご回答ありがとうございます。
実は、現在そのCGIの設置を試みていました。
ですが、ユーザー認証でユーザー名とパスワードを入力しても「Internal Server Error」が表示され、目的のページが表示されません。
元のプログラムはこれでした。
$USERNAME = $ENV{'REMOTE_USER'};
if ($USERNAME eq "") { &error("Error","このプログラムは基本認証が行われるディレクトリ内に設置してください。"); }
print "Location: ";
# ↓上から順番に処理しますので注意! (先に該当するものがあれば適用になってしまう)
# もしユーザ名が FOOBARなら(完全一致)
if ($USERNAME eq "FOOBAR") { print "http://www.rescue.ne.jp/cgis/furiwake/sample/1.h … } # アクセス先URL
# もしユーザ名が A から始まり h で終わるなら
elsif ($USERNAME =~ /^A.*h$/) { print "http://www.rescue.ne.jp/cgis/furiwake/sample/3.h … } # アクセス先URL
# もしユーザ名が A から始まるなら(大文字小文字を区別しない場合は i オプションをつける)
elsif ($USERNAME =~ /^A/i) { print "http://www.rescue.ne.jp/cgis/furiwake/sample/2.h … } # アクセス先URL
# もしユーザ名が A以外 から始まるなら
elsif ($USERNAME !~ /^A/) { print "http://www.rescue.ne.jp/cgis/furiwake/sample/4.h … } # アクセス先URL
# 何も該当しない場合は
else { print "http://www.rescue.ne.jp/cgis/furiwake/sample/0.h … } # アクセス先URL
print "\n\n";
exit;
sub error { #----------------------------------------------------------------
local (@msg) = @_;
local ($i);
print "Content-type: text/html\n\n";
print <<"EOF";
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
<TITLE></TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=x-sjis">
</HEAD>
<body>
<h1>$_[0]</h1>
EOF
foreach $i (1 .. $#msg) { print "$msg[$i]<br>\n"; }
print <<"EOF";
</body></html>
EOF
exit;
}
これを、もしユーザー名が○○なら、http://www.▲▲.comへ、と言う内容にするにはどうしたらよいのでしょう?
# もしユーザ名が ○○なら(完全一致)
if ($USERNAME eq "○○") { print "http://www.▲▲.com"; } # アクセス先URL
と変えるだけではだめですか?
No.1
- 回答日時:
どのCGI使っているか判らないし……。
ユーザーIDが○○と完全一致ならば、目標のページへ
違えば、HOMEに逆戻り
というのは、どのユーザー認証でもある基本的機能なので、リンク先を振り分けるCGIってなに?な状態です。
完全一致以外は入口のページに戻すとかそういうものではないのですか?
間違ったら適当な場所に飛んでもらいたいのでしょうか?
設置場所がおかしいかもと書かれても、お使いのサーバーも判りませんし……。
答えられる人もいるかもしれませんが、ちょっと答えにくいですので、補足お願いします。
この回答への補足
意味合いとしては、「ユーザーごとに別々のページへ飛んでもらいたい」ということなんですが・・。
普通のユーザー認証だと、どのユーザーも同じページへ飛びますよね?
うまく表現できなくて申し訳しわけありません。
早速の回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- 美術・アート トレパク疑惑をかけられにくくするには ここ最近いわゆるトレパク警察のいいがかりがが厳しくなったようで 1 2023/08/21 09:59
- その他(セキュリティ) インスタの最初のログインパスワードを変更したいのですが、どうやってすればいいのか分かりません ヘルプ 1 2022/04/18 20:54
- X(旧Twitter) Twitter(X)でプロフィールを変更したら、突然「ページの読み込みに失敗しました」と表示され、一 2 2023/08/26 17:00
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- UNIX・Linux Ubuntu on Xorgのログインについて 2 2023/08/10 15:16
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- ビデオカメラ GoProのWi-Fiパスワードを任意の文字列に変更したい 1 2023/03/09 09:23
- Yahoo!メール YahooIDをパスワード形式にしただけなのに、利用規約違反とされて電話番号が使えなくなりました 1 2023/03/15 20:44
- ハッキング・フィッシング詐欺 楽天e -naviの初期設定iDとパスワードの知り方 1 2022/05/25 14:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォームを再送信しますか?
-
apacheでPerl CGIが作動せず、5...
-
入力フォーム(電話番号)
-
CGI.pmはもう古い!?
-
太鼓
-
htmlからパラメータで、cgiに渡...
-
CGIって何ですか?簡潔に教えて...
-
ホームページでCGIのフォームを...
-
エクセルで集計したい。
-
文字コード変えたら動かなくな...
-
ラジオボタンの内容を受けてCGI...
-
めちゃきれい
-
number 改行が追加できない
-
生成AI画像について
-
3DCG
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
-
CGIの設置が分かりません・・・
-
ホームページにCGIを設置したの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ApacheのBasic認証のログの取り方
-
外部の別ホストからのPOST送信...
-
Basic認証のパスワードをユーザ...
-
ユーザー管理プログラム
-
Visual Studio.net 2003 (アカ...
-
CSVによるID,パスワードの一括登録
-
ユーザー認証についての質問
-
Basic認証のログオフはやはり無...
-
Linuxからファイルのコピー
-
Amazon Product Advertising AP...
-
会員投稿サイトのCMSについて
-
更新された情報を複数の人と共...
-
年齢認証ページの作成を依頼さ...
-
ブラウザ上の書き込み画面に自...
-
Basic認証
-
Tomcatの基本認証が8080ポート...
-
ユーザごとに異なるページ
-
Excel VBA で Webからデータを...
-
エクセルで備品管理
-
.htaccessでBasic認証
おすすめ情報