LDAP Valid erro retorna WARNING

126 views
Skip to first unread message

Guilherme De Lucca

unread,
Aug 7, 2013, 1:36:28 PM8/7/13
to list...@googlegroups.com
Boa tarde pessoal alguém poderia me dar uma ajuda!

Estou fazendo uma validação na conexão do AD da seguinte forma


<?php

if(!$ldapConnection = ldap_bind(ldap_connect('dominio'))) {
                    $this->language->get('msg_error_LDAP');
}
?>


 porque assim?!?!?! Pois não consegui validar apenas a conexão ela sempre era feita então passei a validar a bind ser era montado

entranto caso de erro ela retorna um 
 Warning: ldap_bind()


outra coisa WARNING é sempre WARNING mas não gostamos deles servidor em produção está com ele desabitado mas não gostamos deles

Só para antecipar alguma resposta

Isso não funciona 



$ldapconn ldap_connect($ldaphost)
          or die(
"Could not connect to {$ldaphost}");

?>

ou isso

<?php

//using ldap bind anonymously

// connect to ldap server
$ldapconn ldap_connect("ldap.example.com")
    or die(
"Could not connect to LDAP server.");

if (
$ldapconn) {

    
// binding anonymously
    
$ldapbind ldap_bind($ldapconn);

    if (
$ldapbind) {
        echo 
"LDAP bind anonymous successful...";
    } else {
        echo 
"LDAP bind anonymous failed...";
    }

}

?>

Tobias Sette

unread,
Aug 7, 2013, 9:53:47 PM8/7/13
to list...@googlegroups.com
Creio que o teu texto tenha ficado um pouco confuso. Veja se compreendi o que voce precisa:

Na pagina do manual do php, sobre a função ldap_connect é dito:
"Returns a positive LDAP link identifier on success, or FALSE on error. When OpenLDAP 2.x.x is used, ldap_connect() will always return a resource as it does not actually connect but just initializes the connecting parameters. The actual connect happens with the next calls to ldap_* funcs, usually with ldap_bind().

If no arguments are specified then the link identifier of the already opened link will be returned."

Testei com um servidor openldap e, de fato, mesmo a conexao estando errada foi retornado um resource (podes verificar fazendo var_dump(ldap_connect(lararara)) ). Assim, eu diria que o correto é verificar o retorno da proxima função ldap que voce utilizar. Para suprimir erros utilize um @ antes do nome da função.


Att,

Tobias

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS/CM/G/H/IT/L/SS d?(--) s++:+ a-- C+++>++++ UL++>++++ P+ L+++>+++++ !E@ W+++
!N o? K- w !O !M@ !V@ PS PE-- !Y@ PGP t+ 5? X? R+ !tv b+ DI>+ !D@ G e- h+ r-- y?
------END GEEK CODE BLOCK------



--
--
============================================================
JQUERY MAGAZINE > http://www.jquerymagazine.com.br
--
PHP MAGAZINE > http://www.phpmagazine.com.br
--
LISTA NODE.JS > https://groups.google.com/group/lista-nodejs?hl=pt-br
--
AJAX-BRASIL > http://groups.google.com/group/ajax-brasil
--
PYTHON-GOOGLE > http://groups.google.com.br/group/python-google
--
DOTNET-BRASIL > http://groups.google.com.br/group/dotnet_br
============================================================
 
---
Você está recebendo esta mensagem porque se inscreveu no grupo "LISTA PHP" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para listaphp+u...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
 
 

Guilherme De Lucca

unread,
Aug 8, 2013, 9:28:08 AM8/8/13
to list...@googlegroups.com
Bom dia Tobias, acredito que você compreendeu...

eu cheguei a ler em algum lugar que  ldap_connect() não ter um retorno é um erro do PHP

Bom vamos a minha duvida inicial.

Você sugeri fazer um  var_dump(ldap_connect() mas me pergunto porque assim? A maneira que tenho utilizado é ldap_bind(ldap_connect()) contudo aqui está meu problema ele da esse Warning

Guilherme De Lucca

unread,
Aug 8, 2013, 10:34:31 AM8/8/13
to list...@googlegroups.com
uma coisa que avia esquecido de mencionar é que não posso utilizar o @ porque irei logar os erros ou seja tenho que corrigir o WARNING pois @ não suprime Warning nas funções na aplicação.

Guilherme De Lucca

unread,
Aug 8, 2013, 10:34:56 AM8/8/13
to list...@googlegroups.com
havia*

Tobias Sette

unread,
Aug 8, 2013, 11:42:37 PM8/8/13
to list...@googlegroups.com
Não quis dizer para voce substituir o ldap_bind(ldap_connect()) pelo var_dump, apenas mencionei para que voce pudesse ver que mesmo uma conexão errada (para um host inexistente, por exemplo) vai retornar um resource, por isso voce nao consegue tratar um erro no ldap_connect. Na pagina do manual do php fala sobre isso, dê uma olhada!

Voce pode pegar os erros com essa função http://www.php.net/manual/en/function.ldap-errno.php Dê uma olhada nas funções relacionadas a esta.

Att,

Tobias

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS/CM/G/H/IT/L/SS d?(--) s++:+ a-- C+++>++++ UL++>++++ P+ L+++>+++++ !E@ W+++
!N o? K- w !O !M@ !V@ PS PE-- !Y@ PGP t+ 5? X? R+ !tv b+ DI>+ !D@ G e- h+ r-- y?
------END GEEK CODE BLOCK------



Guilherme De Lucca

unread,
Aug 13, 2013, 8:06:24 AM8/13/13
to list...@googlegroups.com
Ola Tobias desculpa a demora para responder visto que vc que está me ajudando vou estar olhando a função e dou um retorno. PS dei uma solução depois passo como fiz.
Reply all
Reply to author
Forward
0 new messages