htaccsessが、うまくいきません。
認証画面は出るのですが、何度ただしいID,PWを入れても、500エラーになります。
フルパス
http://URL/portfolio/index.html
下記三つのファイルはindex.htmlと同じフォルダ内にあります。
.htaccessの中身
AuthUserFile /home/vol4_7/lv9.org/lv9_ID/htdocs/portfolio/.htpasswd
AuthGroupFile /dev/null
AuthName "Input ID and Password."
AuthType Basic
require valid-user
<Files ~ "^.(htpasswd|htaccess)$">
deny from all
</Files>
.htpasswdの中身
portfolio:7890
(PWの暗号化もできますが、暗号化したものは意味不明な文字列になっていますが、
それでも正しい数値を打てばよいのですよね。なぜサーバは暗号化した情報が解読できるのでしょうか?暗号化は他のサイトで行うのにわかるのですかね?
もちろん確認のためあえて平文で今回は行っています。)
_____________________
phpinfo.phpの中身
VH_PATH
/home/vol4_7/lv9.org/lv9_ID/htdocs
・パーミッション777にしてもだめでした。
・サーバはhtaccsessは使えると記載があります。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/06/08 08:27
回答4件
0
Apache の標準的な BASIC 認証の話ですよね?
Apache httpd サーバーは、ハッシュ化(暗号化と言われていますか暗号化ではないです)されたパスワードを解読しているのではなくて、入力ダイアログで入力されたパスワードをハッシュ化して、ファイルに保存されているパスワードと照合しています。
そのため、Apache の BASIC認証では、.htpasswd ファイルに記載される「パスワード」は、htpasswd コマンドで、ハッシュ化された形式でパスワードを記載しておく必要があります。
今回の場合、
htpasswdの中身
portfolio:7890
もちろん確認のためあえて平文で今回は行っています。
と書かれていますが、.htpasswd に記載されたパスワードが、平文の状態だと、入力したパスワードをハッシュ化した結果が、7890 と一致しないと ログインできません。
.htpasswd は、htpasswd コマンドで、作成・追加するようにしてください。
もし、htpasswd コマンドが使えない場合は、.htpasswd ファイルを生成してくれる webサイトがありますので、利用して生成してください。
htpasswd コマンドのマニュアル
https://httpd.apache.org/docs/2.4/ja/programs/htpasswd.html
.htpasswd ファイルを作成してくれるサイトの一例
http://www.luft.co.jp/cgi/
(PWの暗号化もできますが、暗号化したものは意味不明な文字列になっていますが、 それでも正しい数値を打てばよいのですよね。なぜサーバは暗号化した情報が解読できるのでしょうか?暗号化は他のサイトで行うのにわかるのですかね?
ハッシュを生成するアルゴリズム(ルール)は、決まっているので、同じアルゴリズムを使っているプログラムの場合は、どこのサーバーで生成しても同じ文字列になります。
投稿2016/06/06 22:45
総合スコア25171
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/06/07 05:47
退会済みユーザー
2016/06/07 13:31
0
サーバへhtaccessやhtpasswdを転送されているツールはSublime3のSFTPプラグインでしょうか?
見たところそのプラグインはテキスト転送モードとバイナリ転送モードの区別がないようなので、改行コードの違いによって起きているのかもしれません。Linux上での改行コードはLF(0x0A)、Windows上での改行コードはCRLF(0x0D0A)なので、そのままのバイナリをアップロードするとLinux上で読み込むのに不都合が起きます。Sublimeの設定で改行コードをunix用にすることもできますが、全てのファイルの改行コードが変わってしまうため、普段使いしているSublimeの設定そのものを変更することはおすすめしません。
これらの改行コードの問題を解決するには、テキスト転送モードを使えるFTPクライアントソフトを使って転送するべきです。よく使われているツールはこれとかでしょうか。
・FFFTP(テキスト転送、バイナリ転送を拡張子で指定できる)
http://forest.watch.impress.co.jp/library/software/ffftp/
・WinSCP(ある程度勝手にテキスト、バイナリを識別してくれる)
https://winscp.net/eng/download.php
投稿2016/06/08 01:23
総合スコア9206
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/06/08 02:07
2016/06/08 02:15
退会済みユーザー
2016/06/08 02:42
2016/06/08 02:59
退会済みユーザー
2016/06/08 08:43
退会済みユーザー
2016/06/08 08:47
退会済みユーザー
2016/06/08 08:48
0
.htaccessファイルの改行コードはLFになっていますか?
あと、関係ないかもしれませんが
<Files ~ "^.(htaccess|htpasswd)$">
ピリオドの前に""が抜けていませんか?
↓
<Files ~ "^.(htaccess|htpasswd)$">
投稿2016/06/08 00:34
総合スコア487
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/06/08 00:48
0
500エラーということは認証周りではなくスクリプト周りの問題なのではないでしょうか?apacheのerror.log等になにか出力されていませんか?
投稿2016/06/07 13:36
総合スコア9206
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/06/07 13:41
2016/06/07 14:47
退会済みユーザー
2016/06/07 23:58
2016/06/08 00:37
退会済みユーザー
2016/06/08 00:50
退会済みユーザー
2016/06/08 01:04
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。