- 締切済み
「.htaccess」の認証 発行までは出来るのですが・・
ウルトラ素人なのですが、フリーの「.htaccess」の認証をHPに設置しようと四苦八苦しています。何度やっても上手くいかないのでいろいろ調べたのですが、これという原因がわからず質問を書きました。宜しくお願いします。内容としては、ID・パスワードの発行(メール)までは出来るのですが、ID・パスワードを入れても認証されません。。(>_<) 使わせて頂いている素材のページは、こちらです。 http://www.ortecweb.com/cgi/koukai/afe-soho/ どこが原因かわからないのですが、パーミッションとhtaccessの設定を記載します。間違ってないか見ていただけないでしょうか。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- vsba23895
- ベストアンサー率58% (18/31)
>data[フォルダ]・・・売り上げ情報を格納しています。 > 777 この777が、「誰でも読み出し・書き込み・削除可」である、という意味が分った上で、このページを設置しようとしているのでしょうか。 認証を必要とする程の重要データを扱う cgi の動作結果が、同一階層からたどれるディレクトリに保存される(らしい)のは、到底安全な設計とは言えません。一昨年あたり、この手の甘い設計のページからの情報流出事件がさんざん起きています。 メールで平文のパスワードを送るのも、やめた方がいいでしょう。 この「素材」によるページ設置自体を考え直した方がいいと思います。
- umasikajiro
- ベストアンサー率67% (545/803)
まず、配布されているCGIの動作に関しては 配布元で質問してください 全然サポートしてくれないなら、他の配布サイトに行きましょう フリーウェアでも質問用/サポート掲示板などを設置しているところを選んだ方がいいです。 ##それとは別にユーザー認証についてですが ご質問のケースでは、.htpasswdが空っぽであるか、正しいパスワードが書き込まれていないのではないかと思います telnetが使えないならweb上でパスワードを変換してくれるところ 例えば http://www.avis.ne.jp/avis-cgi/htpasswd.cgi に行き ユーザー名 tarou パスワード abcde などと入れます 次の画面で tarou:.a7AGF8JYZKjY <=などと表示されますので それをコピーして .htpasswd の中に書き込んでから ftpなどでアップロードしてください 再度 アクセスすると ユーザー名 tarou パスワード abcde でアクセス出来るはずです
お礼
お礼が遅くなりました。 お忙しいなかご回答・アドバイスありがとうございます。 無サポートだったので、サポートの掲示板のあるような他のところを探してみます。。 ユーザー認証ですが、ご指摘の通り空っぽでした。 書き込みが上手くできてないということは、どこかパーミッションの 設定が違っているのだと想います。 アドバイスありがとうございました。 もう少し勉強してみます(>_<)
- umasikajiro
- ベストアンサー率67% (545/803)
>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を設置してアクセスすれば表示されます。
お礼
お忙しいなか、ご回答ありがとうございます。 サーバーがtelnetが使えないようなのでCGIを設置してみたら、/home/ユーザー名/public_html/ と出てきました。 ので AuthUserFile /home/ユーザー名/public_html/afi/login/.htpasswd にしてみたのですが、やっぱり。認証されませんでした。。(>_<) 試しに /home/ユーザー名/public_html/ を省いて/afi/login/.htpasswd にてしても認証されませんでした。 パーミッションや他の箇所に原因があるのでしょうか。。? 他に考えられる箇所があれば、その箇所の内容をコピーして記載しますので、ご指摘いただければ嬉しく想います。 宜しくお願い致します。
- umasikajiro
- ベストアンサー率67% (545/803)
>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 -------------------------------------------------------- 宜しくお願い致します。
お礼
ご指摘ありがとうございます。 予算がないので、素人がフリーの素材でなんとか設置したいう発送が甘い考えでした(>_<) もう少し勉強してから設置することにしたいと想います。