2017-05-26 23 views

答えて

0

ダイジェスト認証を使用していても、資格情報を検証するのはバックエンドシステムまでです。有効な資格情報を格納しているバックエンドデータベース、RADIUSサーバー、LDAPなどは問題ではありません。サーバーとクライアントは、HTTPレベルでこれらのヘッダーを交換します。

https://leonjza.github.io/blog/2013/06/25/dtob.py-digest-to-basic-authentication-a-simple-example-of-a-authentication-downgrade-attack/

0

PHPのドキュメントで述べたように:あなたがユーザー/パスワードを持っている場合は、あなただけのこれらの資格情報を使用してLDAP上のユーザーを認証するために、あなたのLDAPコードを作成する必要がありhttp://php.net/manual/en/features.http-auth.php

<?php 
if (!isset($_SERVER['PHP_AUTH_USER'])) { 
    header('WWW-Authenticate: Basic realm="My Realm"'); 
    header('HTTP/1.0 401 Unauthorized'); 
    echo 'Text to send if user hits Cancel button'; 
    exit; 
} else { 
    echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>"; 
    echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as your password.</p>"; 
} 
?> 

もう1つの方法は、LDAPバックエンドを使用してユーザーを認証できるHTTPサーバーを使用することです。たとえば、Apacheのドキュメントを参照してください。https://httpd.apache.org/docs/2.4/mod/mod_authnz_ldap.html

関連する問題