プロが教えるわが家の防犯対策術!

ウルトラ素人なのですが、フリーの「.htaccess」の認証をHPに設置しようと四苦八苦しています。何度やっても上手くいかないのでいろいろ調べたのですが、これという原因がわからず質問を書きました。宜しくお願いします。内容としては、ID・パスワードの発行(メール)までは出来るのですが、ID・パスワードを入れても認証されません。。(>_<)

使わせて頂いている素材のページは、こちらです。
http://www.ortecweb.com/cgi/koukai/afe-soho/

どこが原因かわからないのですが、パーミッションとhtaccessの設定を記載します。間違ってないか見ていただけないでしょうか。

A 回答 (4件)

>data[フォルダ]・・・売り上げ情報を格納しています。


>  777

この777が、「誰でも読み出し・書き込み・削除可」である、という意味が分った上で、このページを設置しようとしているのでしょうか。
認証を必要とする程の重要データを扱う cgi の動作結果が、同一階層からたどれるディレクトリに保存される(らしい)のは、到底安全な設計とは言えません。一昨年あたり、この手の甘い設計のページからの情報流出事件がさんざん起きています。
メールで平文のパスワードを送るのも、やめた方がいいでしょう。
この「素材」によるページ設置自体を考え直した方がいいと思います。
    • good
    • 0
この回答へのお礼

ご指摘ありがとうございます。

予算がないので、素人がフリーの素材でなんとか設置したいう発送が甘い考えでした(>_<)

もう少し勉強してから設置することにしたいと想います。

お礼日時:2006/06/27 00:05

まず、配布されているCGIの動作に関しては


配布元で質問してください
全然サポートしてくれないなら、他の配布サイトに行きましょう
フリーウェアでも質問用/サポート掲示板などを設置しているところを選んだ方がいいです。

##それとは別にユーザー認証についてですが
ご質問のケースでは、.htpasswdが空っぽであるか、正しいパスワードが書き込まれていないのではないかと思います
telnetが使えないならweb上でパスワードを変換してくれるところ 例えば
http://www.avis.ne.jp/avis-cgi/htpasswd.cgi に行き
ユーザー名 tarou
パスワード abcde などと入れます
次の画面で tarou:.a7AGF8JYZKjY <=などと表示されますので
それをコピーして .htpasswd の中に書き込んでから ftpなどでアップロードしてください
再度 アクセスすると
ユーザー名 tarou
パスワード abcde
でアクセス出来るはずです
    • good
    • 0
この回答へのお礼

お礼が遅くなりました。
お忙しいなかご回答・アドバイスありがとうございます。

無サポートだったので、サポートの掲示板のあるような他のところを探してみます。。

ユーザー認証ですが、ご指摘の通り空っぽでした。
書き込みが上手くできてないということは、どこかパーミッションの
設定が違っているのだと想います。

アドバイスありがとうございました。
もう少し勉強してみます(>_<)

お礼日時:2006/07/03 00:24

>AuthUserFile C:\afi\login\.htpasswd



この状態で配布とは、、、、、絶句、、
AuthUserFileのパスについてだけ説明します
↑のパスはwindows上のパスですからunix系サーバーだと全然違います
パスを調べるには telnetでログインできるなら
cd コマンドでそのdirに移り pwd と打てば出てきます
例としてごく一般的なプロバイダの場合でユーザー名tarouの場合
$ cd public_html/afi/login/ <=と打ってenterを押すと移動します
$ ls -al <=と打つとfile一覧が出てきます
drwxr-xr-x 3 tarou tarou 4096 6月 24 22:16 .
drwxr-xr-x 3 tarou tarou 4096 6月 24 22:16 ..
-rwxrwxrwx 1 tarou tarou 222 10月 15 2005 .htaccess
-rwxrwxrwx 1 tarou tarou 0 10月 15 2005 .htpasswd  <=.htpasswdがあることを確認する
-rwxrwxrwx 1 tarou tarou 23047 10月 15 2005 login.cgi
drwxr-xr-x 2 tarou tarou 4096 6月 24 22:16 user
$ pwd
/home/tarou/public_html/afi/login <=現在のディレクトリが表示される

このディレクトリの下に .htpasswdがあるわけですからAuthUserFileの記述は
AuthUserFile /home/tarou/public_html/afi/login/.htpasswd
が正解と言うことになります。

もしtelnetの許可されていないサーバーなら
#! /usr/bin/perl
print"Content-type: text/html; charset=Shift_JIS\n\n";
print"<html>\n";
$ENV{'SCRIPT_FILENAME'} =~ m|[^/]+$|;
print "現在のディレクトリ = $` <P>\n";
__END__
と言う内容のcgiを設置してアクセスすれば表示されます。
    • good
    • 0
この回答へのお礼

お忙しいなか、ご回答ありがとうございます。

サーバーがtelnetが使えないようなのでCGIを設置してみたら、/home/ユーザー名/public_html/ と出てきました。

ので
AuthUserFile /home/ユーザー名/public_html/afi/login/.htpasswd

にしてみたのですが、やっぱり。認証されませんでした。。(>_<) 

試しに /home/ユーザー名/public_html/ を省いて/afi/login/.htpasswd
にてしても認証されませんでした。

パーミッションや他の箇所に原因があるのでしょうか。。?
他に考えられる箇所があれば、その箇所の内容をコピーして記載しますので、ご指摘いただければ嬉しく想います。

宜しくお願い致します。

お礼日時:2006/06/25 04:54

>htaccessの設定を記載します。


記載してください(ここの掲示板って回答がひとつも無いと補足投稿出来なくなっているのかな?)

ありがちな例としては
AuthUserFile /home/hoge/.htpasswd <=このパスが間違っているとか?

この回答への補足

ご回答ありがとうございます。文字数制限で書けなかったので、、(>_<)
下記になります。

├・regist.html・・・ユーザー登録画面。
  644

├・regist.cgi・・・登録情報を処理するプログラムです。
  755
  
├・userno.cgii・・・ユーザーIDを格納するファイル。
  666

├・pay.cgi・・・売り上げ締切処理プログラムです。
  755

├・cgi-lib.pl・・・フォームデーターを受けるプログラムです。
  644

├・jcode.pl・・・日本語変換プログラムです。
  644

└・login[フォルダ] 
  7777  

┬.htaccess・・・環境設定ファイルです。
  644

├.htpasswd・・・パスワード格納ファイルです。
  666
 
├login.cgi・・・ユーザーがログインを行い、Linkの作成等を行う画面です。
  777

└・data[フォルダ]・・・売り上げ情報を格納しています。
  777

htaccessの内容です。
パスは、loginフォルダを含め関連のCGIなどが一式入っているフォルダ名から書けばよいのでしょうか。あと、良く意味のわからない¥が付いていたのですがこれはこれでいいのでしょうか。。(>_<) その他、最後の改行は入っています。
--------------------------------------------------------

AuthUserFile C:\afi\login\.htpasswd

AuthGroupFile /dev/null
AuthName "ユーザーID 及び パスワード"
AuthType Basic

require valid-user

<Files ~ "^.(htpasswd|htaccess)$">
deny from all
</Files>
Options -Indexes

--------------------------------------------------------
宜しくお願い致します。

補足日時:2006/06/24 21:40
    • good
    • 0

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