ユーザIDとパスワードを入力後、ユーザごとに異なるページにジャンプするようなCGIを作成したいと思ってます。プラットホームはApachでPerl言語を使用したいと思ってます。サンプルプログラムや方法、アイデアがございましたら是非ご教授ください。
ちなみに、Apachでユーザを作成することは許されています。(作成せずに済むことに越したことはないのですが・・・)

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

A 回答 (4件)

先程の回答では適当でなかった様な気がしますのでもう一度。



>REMOTE_USERとはどのような認証方式をクリアしたユーザなんですか?

.htaccessを用いて認証させるのならばそのときのユーザーが該当します。

>UNIXで作成したユーザでしょうか?

前回の方を御覧頂ければ判りますがUNIXで作成したユーザーでも独自に作成したユーザーでも使用できます。

>.htaccessファイルによる認証をクリアしたユーザはREMOTE_USERにセットされるのでしょうか?

されます。

以上、補足でした。
    • good
    • 0
この回答へのお礼

ありがとうございます。REMOTE_USERって便利ですね。
早速、テストサイトを作ってみたいと思います。

お礼日時:2001/08/07 14:55

お礼読ませて頂きました。


REMOTE_USERとはApacheのBasic認証を用いて認証させた場合に設定される環境変数です。
この環境変数はCGI内部で自由に参照することが出来ます。
尚、認証時に使用されるユーザーIDとパスワードは特定のファイルを指定しなければ当該ホストのユーザー情報が使用されますが、ファイルを指定して独自に作ったユーザー情報(ユーザーIDとパスワードの組み合わせ)を使用することも出来ます。
参考URLに.htaccessの利用法が書かれたサイトを記載しておきましたので詳しくは「パスワードによるユーザー認証のかけ方」の項目をご覧下さい。

参考URL:http://www.mikeneko.ne.jp/~lab/cgi/htaccess/
    • good
    • 0

補足です。


REMOTE_USERと「.html」等拡張子をCGI内部で組み合わせて飛ばしてやれば簡単にユーザごとのページへ送り込むことが出来ますね。
勿論その場合保護されたディレクトリー配下に各ユーザー名を持つhtmlファイルをユーザー数分だけ置いておかなければなりませんが。
    • good
    • 0
この回答へのお礼

ありがとうございました。
REMOTE_USERとはどのような認証方式をクリアしたユーザなんですか?UNIXで作成したユーザでしょうか?
.htaccessファイルによる認証をクリアしたユーザはREMOTE_USERにセットされるのでしょうか?

お礼日時:2001/08/07 13:45

ユーザー認証を使用するのであれば話は簡単です。


保護されたディレクトリー配下に直接参照させるCGIを置いておきます。
そのCGIにアクセスするには当然ユーザーIDとパスワードが必要になります。
無事認証を通ってきたユーザーのユーザーIDはCGIのなかで環境変数REMOTE_USERで参照することが可能ですから、CGI内部で場合分けして該当するページへ飛ばしてやれば良いです。
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

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

QWindows7 パスワードリセット

今まで使っていた管理者アカウントのPWを忘れて
guestアカウントしかない状態です

なんとかパスワードを解除しようと

[Offline NT Password & Registry Editor]

このソフトを試したのですが

ERROR : Failed to copy registry file sam

とでてstep3に進むことができません。

どうすれば進むことができるでしょうか・・・


よろしくお願いします。

Aベストアンサー

linuxコマンド chntpw 使用の下記サイトを試してみてください。
Windows/System32/config フォルダの場所を正しく指定すればリセットできます。

chntpw
http://ftlabo.sakura.ne.jp/win/chntpw/chntpw.html

QPerl5.8とPerl5.6は共存可能でしょうか?

WindowsでActivePerlを使っています。現在Perl5.8を入れていますが
後からPerl5.6を入れて、Perl5.6を優先的に使いたいのですが
Perl5.8とPerl5.6の共存は可能でしょうか?

Aベストアンサー

おいらのやり方  基本的には#1さんのと同じですが
E:ドライブにApacheなども入れているので
Perl5.6を e:\usr\binに、Perl5.8をE:\usr\local\bin にいれます。
ApacheとPerlを同じドライブに入れれば .cgiとして使うときにshebang文を
#! /usr/bin/perl と記述することが出来ます。

1.Perlのインストール前に e:\usr その下に\localというフォルダを作っておきます。
2. Perl5.8インストール時 Choose Setup Typeのところで Customを選びます
3.次の画面で [Browse ]ボタンを押して e:\usr\localを指定します。<=e:\usr\local\binでは有りません
4. NEXTを押してインストールを続けます

次に5.6のインストール
5. Perl5.8と同じようにしてpathを今度は e:\usr を指定します

両方インストールが終わったらOSの環境変数pathで
perl5.6のあるe:\usr\binを5.8のあるe:\usr\local\binよりも上位にします
pathの設定方法は
http://www.gihyo.co.jp/book/2000/179111/download/index1.html を参考に
;で複数のエントリーを記述している場合、例えばpathの記述が
c:\windows;c:\windows\command;e:\usr\local\bin;e:\usr\bin なら
c:\windows;c:\windows\command;e:\usr\bin;e:\usr\local\bin にするか#1さんの言う様にe:\usr\local\binを消します

WIN98などで autoexec.batに
PATH C:\windows;C:\windows\command
PATH %PATH%;e:\usr\local\bin
PATH %PATH%;e:\usr\bin   <=この場合はこの行を上に変更
http://www.hir-net.com/soft/doc/install.html
 (WIN95/98では再起動後に有効になります)

うまくいったか確認はコマンドラインで
c:\hoge> perl -v (perl -V だともっと詳しい情報が表示される)

おいらのやり方  基本的には#1さんのと同じですが
E:ドライブにApacheなども入れているので
Perl5.6を e:\usr\binに、Perl5.8をE:\usr\local\bin にいれます。
ApacheとPerlを同じドライブに入れれば .cgiとして使うときにshebang文を
#! /usr/bin/perl と記述することが出来ます。

1.Perlのインストール前に e:\usr その下に\localというフォルダを作っておきます。
2. Perl5.8インストール時 Choose Setup Typeのところで Customを選びます
3.次の画面で [Browse ]ボタンを押して e:\usr\loca...続きを読む

Q忘れたwindows 7 パスワードを解除したい

何度も試しても、windows 7にログインできません。パスワードをどうしても思い出せません。困ります。忘れたwindows 7 パスワードを解除して、入力しないで起動するようにしたいのですが、どうすればいいのかがぜんぜん分かりません。誰か教えてくれませんか。よろしくお願いいたします。

Aベストアンサー

windows 7のコントロールパネルのユーザーアカウントから直接にwindows 7 パスワードのログオンを閉じることが出来ます。しかし、現在利用されているパスワードが分からない場合、設定できません。まず、忘れたwindows 7 パスワードを解除しなければなりません。
システムのリカバリーは一つの対策です。もし、システムをリカバリーすれば、解除できますが、一般的には薦められていません。Cに保存されているすべてのデータは削除されます。せめて、バックアップした後、以上の操作を行ってください。しかし、ログインできない場合、バックアップも実行できません。
今、ますます多くの方はパスワードリセットツールで解除操作を実行します。また、PCの修理店に問い合わせて、業者に依頼する方も多いようです。

参考URL:http://jp.magic-rescue-cd.com/windows7-password.html

Qperlとmod_perlの併用について

同一Webサーバ上で通常のperlとmod_perlを併用することは
可能でしょうか?

バーチャルホストを使用してWebページ用のディレクトリは
通常のperl仕様のWebページとmod_perl仕様のWebページと分けて
構わないのですが・・・

よろしくお願いします。

Aベストアンサー

Perlが必須かmod_perlが必須か、ということではなく、mod_perlを使うか使わないか、という差になるはずです。
いずれにしても、Perlは必須なので。

2つのWebページの片方は、Perlで出力するWebページ(拡張子 .cgi)で、もう片方はmod_perl仕様で出力するWebページ(拡張子 .mcgi)とすれば、先の設定でいけるんですけど。
※.mgciを利用するなら mime.types の設定も必要か

設定については、検索するか本を購入。
っていうか、自分で調べたり、実際に試したりしてないのかな?

Qwindows7パスワード解除

何度も試しても、だめです。このwindows7パスワードを忘れてしまうはずがないのに、どうしても思い出せないのです。皆さんもこんな状況に遭遇したことがありますか。どうすればよいのでしょうか。システムを再インストールした後、このwindows7パスワード解除できると聞きますが、そうしたら、すべてのアプリケーションも再インストールする必要があるでしょう。面倒だと思います。ほかのもっと簡単なパスワード解除対策はありませんか。どなたか教えてくれませんか。よろしくお願いします。

Aベストアンサー

後ろの疑問符で表示されるヒントを見て、試したことがありますか?
確かに、システムの再インストールを実行したら、ほぼすべてのインストールされていたアプリも再インストールする必要があります。また、再インストールしたら、Cをフォーマットする必要もありますよ。中に保存されているデータも消えてしまいます。この対処法はベストチョイスではないと思います。
もし、修理店も依頼したくない場合、自分でwindows7パスワード解除に対応するツールを使って見てもよろしいです。会社の同僚もこんな問題に遭遇したことがあります。ツールで問題を解決したようです。使用したツールはMagic PassNowというものです。公式サイトから、チュートリアルもあります。このパスワード解除機能は無料で利用できるようです。よろしければ、試してみてください。下記のページは関連サイトです。参考してみてください。

参考URL:http://jp.magic-rescue-cd.com/recover-windows7-password.html

QHTML(AJAX)-perl -DB(MySQL)-perl -HTML(AJAX)のデータの流れについて。

こんにちわ。
早速ですがよろしくお願いします。

タイトルの通り、画面入力のデータAをperlに投げてAを元にperl側でDBデータ取得(A')、A'を元の入力画面で処理結果として出力する事を考えています。
HTML(AJAX)-perl -DB(MySQL)-perl
↑ここまではできたのですが、最後の
perl -HTML(AJAX)
が出来ず、A'を入力画面に返す方法が分かりません。

ちなみに処理結果(A')をHTML側でYahoo! User Interfaceを使用してテーブル処理する予定です。

お恥ずかしながらプログラミングに関しての知識が乏しくて恐縮なのですが、どうぞよろしくお願い致します。

Aベストアンサー

Yahoo! User Interfaceで何をされるのかわかりませんが,
入力されたものを自動で処理し入力画面に出力させるだけでしたら,

use strict;
use CGI;
use CGI::Ajax;

my $cgi = new CGI;
my $pjx = new CGI::Ajax( 'exported_func' => \&perl_func );

print $pjx->build_html( $cgi, \&Show_HTML);

sub perl_func {
my $input = shift;
# DBに接続して,何か処理をする
my $output = "処理結果を代入";
return( $output );
}

sub Show_HTML {
my $html = <<EOHTML;
<HTML>
<BODY>
Enter something:
<input type="text" name="val1" id="val1"
onkeyup="exported_func( ['val1'], ['resultdiv'] );">
<br>
<div id="resultdiv"></div>
</BODY>
</HTML>
EOHTML
return $html;
}

で出てきます。
JavaScriptを自分で一行も書かないけど,Ajaxができてしまうという優れものです。

Yahoo! User Interfaceで何をされるのかわかりませんが,
入力されたものを自動で処理し入力画面に出力させるだけでしたら,

use strict;
use CGI;
use CGI::Ajax;

my $cgi = new CGI;
my $pjx = new CGI::Ajax( 'exported_func' => \&perl_func );

print $pjx->build_html( $cgi, \&Show_HTML);

sub perl_func {
my $input = shift;
# DBに接続して,何か処理をする
my $output = "処理結果を代入";
return( $output );
}

sub Show_HTML {
my $h...続きを読む

Qパスワードの入力なしにWindows 7を起動する

Windows 7の起動中にユーザー名が表示されその下の窓にパスワードを入力するように求められます。
毎回のことで面倒くさいのでこのパスワードを入力しないで起動するようにしたいのですが、どうしたらいいのでしょうか。

Aベストアンサー

こちらを参考に・・

http://www.pasoble.jp/windows/7/08828.html

QPerlで検索エンジン作成は可能!?

Perlを使ってLYCOSのような
検索エンジンを作成できますか?
やはりPerlではなくほかの言語で
作成するのでしょうか?

Aベストアンサー

Perlでも十分可能ですよ。
しかし、DBを使用したいとあらば、ASPやPHPの方が向いていると思います。
軽さを求めるならPHP…でしょうか?
そのあたりはスクリプトの組み方や使用している関数にもよると思いますが。

もしどうしてもPerlで作成したいのでしたら、
Perlで作られているフリーの検索エンジンをDLして、
勉強してみるのも良いと思いますよ。

QWindows 7のパスワードをわすれてしまった!

Windows 7の最初のきめたパスワード(決めたパスワードをメモしてたので。)
で、パスワード変更をしようとしても、パスワードかユーザー名が間違ってるとでます。
ユーザー名はあってるとおもうので、パスワードがちがうとおもわれます。
最初にきめたのがかわることはありますか?
また、こういうときはどうすればいいのですか!?
おしえてください!
おねがいします!

Aベストアンサー

できることならパスワードを設定しないのが一番ですがね。

QPerlスクリプトでメールを作成して送信

できるでしょうか?
ニフティプロバイダを使ってますがCGI制限があり
SMTPはできないそうです

Aベストアンサー

Perlスクリプトでも不可能ではないでしょうが、
メールの仕組みを理解していなければ無理でしょう。
(それ以外の問題もあります)

この場合、sendmailというのを利用するのが簡単なのですが、
niftyではsendmailが利用出来ません。
CGI制限の関係で無理かも知れないですね。


人気Q&Aランキング