2

LDAP サーバー、PHP、および null パスワードを許可しない。

私のコードは現在、boolean true のパスワードをチェックします (はい、有効な null 以外の LDAP パスワードである可能性のある値の一部を除外します"0") LDAP での空白のパスワード ログインを許可しないようにします。しかし、これで十分ですか?

PHP が非 null と見なす値を作成することはできますが、LDAP では空白のパスワードとして扱われますか? おそらく0x0(空の C 文字列) を含む文字列か、そのようなハッカー的な怪物でしょうか?

使用してldap_bind()

4

1 に答える 1

1

単純な BIND 操作に関して LDAP 標準でカバーされている 3 つの可能性と、標準で対処されていない 1 つの可能性があります。

  1. null DN と null パスワード。認証は行われません。これは一般に「匿名」として知られており、接続の初期状態です。
  2. DN および null パスワード。認証は行われません。
  3. DN とパスワード。認証が行われ、失敗または成功します。認証が成功すると、BIND 応答でゼロ (0) の結果コードが返されます。それ以外の場合は、BIND 応答でゼロ以外の結果コードが返されます。

最後に、LDAP 標準では対処されていません。

  1. DN なし、null 以外のパスワード。認証は行われません。ディレクトリ サーバーは、この BIND 操作を拒否する必要があります。

最初の 2 つに対してサーバーが行うことは、サーバーの構成によって異なりますが、認証が行われないため、サーバーが適切に構成されている場合、BIND 操作は拒否されます。

于 2012-11-01T17:11:36.550 に答える