2

.htaccess と .htpasswd を使用してページをパスワード保護しようとすると、保護したページに移動し、ユーザー名とパスワードを入力します。問題は、私が暗号化したパスワードが入力しなければならないものではないことです。代わりに、それは暗号化されたパスワードです。

例えば:

lol:noitcS2m.5F6.

lolユーザー名とnoitcS2m.5F6.パスワードを入力すると、入ります。

ただし、暗号化したパスワードを使用しても機能しません。私が間違っていることを誰かに説明してもらえますか?XAMPP 1.8.0 を Apache 2.4.2 と PHP 5.4.4 と共にインストールしました。

私の .htaccess ファイルには次のものが含まれています。

AuthType Basic
AuthName "restricted area"
AuthUserFile C:/xampp/htdocs/pass/.htpasswd
require valid-user

それはに位置していますC:/xampp/htdocs/dl/

また、そうである場合、AuthUserFileエラー/dl/.htpasswd500が表示されます。

4

1 に答える 1

0

指示が必要な場合 (APACHE 2.2 および GREATER/Current XAMPP の場合)

デフォルトの XAMPP フォルダーに移動し、apache/bin/error.logに移動します。このファイルには、localhost 内の Apache ファイルで発生するすべてのエラーが含まれています。これにより、診断がはるかに容易になります。

例(私のもの):

[auth_basic:error] [pid 408:tid 1772] [client 127.0.0.1:4077] AH01617: user go_admin: authentication failure for "/HTAccessible/test/London/": Password Mismatch, referer: http://localhost/HTAccessible/test/London/

ディレクトリを再度実行し、ファイルの一番下までスクロールして、表示されるエラー メッセージを確認します。これにより、StackOverflow が役立つようになります。


考えられる解決策

アラン・ティエンブロも。私は最近、Windows XAMPP での crypt(base64()) 暗号化方法にも問題がありました。Apache サイトを見たところ、この方法も提案されています。

'{SHA}' . base64_encode(sha1($password, TRUE)); //which works

または、コマンド プロンプト ([スタート] メニュー -> [アクセサリ] -> [コマンド プロンプト]) を開き、これらの方法を実行することもできます (Apache を直接使用しているため、常に正しく暗号化する必要があります)。

ここで説明する方法は htpasswd で機能します

于 2013-08-25T13:39:56.230 に答える