Arquivo

Textos com Etiquetas ‘PHP’

Consultando LDAP com PHP

27, julho, 2010 2 comentários
<?php
// Variaveis Globais
$ldap_server = "seudominio.com.br";
/*Usamos o nome do dominio ou o nome do Servidor do dominio Casa
seja 1 servidor Apenas*/
$dominio = "seudominio\\"; /*Aqui usaremos o nome Netbios do dominio*/

// Usuario para autenticacao na Base LDAP
$auth_user = "seudominio\usuario_de_consulta";
/*nome Netbios\usuario*/

$auth_pass = "senha_do_usuario";
/*Senha do usuario do dominio*/

// Caminho LDAP do Dominio
$base_dn = "OU=DOMINIO,DC=seudominio,DC=com,DC=br";
/*Nome do Dominio completo + OU principal*/

// Caminho LDAP do Grupo para consulta
$filter = "(&(objectClass=user)(memberOf=CN=grupo,OU=ou_do_grupo,
OU=ou_principal,DC=seudominio,DC=com,DC=br))";

//Funcao para conectar na base LDAP listar os usuarios de um grupo.

if (($connect=@ldap_connect($ldap_server))) {
 if (($bind=@ldap_bind($connect, $auth_user, $auth_pass))) {
 if (($search=@ldap_search($connect, $base_dn, $filter))){
 $number_returned = ldap_count_entries($connect,$search);
 $info = ldap_get_entries($connect, $search);

   for ($i=0; $i < $info["count"]; $i++){

     $user_pure = $info[$i]["samaccountname"][0];
     $user_up = strtoupper($user_pure);
     echo "Ususario - $user_up<br>";
   }

 }

 }

}
// Fecha a conexao LDAP.
ldap_close($connect);
?>

Fonte: www.revistaphp.com.br

Mais informações sobre AD:
http://www.learnthat.com/Software/learn/1295/Introduction-to-Active-Directory/

Abaixo uma breve descrição das variáveis:
$ldap_server -> essa variavel deve apontar para o servidor Active Directory, que pode ser preenchida com um nome FQDN ou o IP do servidor, ou seja, será a base onde consultaremos o(s) usuário(s).

$dominio -> essa variável deve conter o nome NETBIOS do domínio que é o nome curto do domínio do seu Active Directory. Suponhamos que seu domínio fosse phpldap.com.br , o nome curto(NETBIOS) para esse domínio seria phpldap que atribuímos a variável ‘$dominio’.

$auth_user -> esse variável deve conter o nome de um usuário existente na base do Active Diretory. Suponhamos que você tenha na sua base o usuário ‘teste’, nesse caso usando o exemplo acima com o nome do domínio phpldap a variável seria preenchida assim ‘phpldap\teste’. Esse usuário serva para se conectar a base de dados.
$auth_pass -> essa variável deve ser preenchida com a senha do usuário teste do Active Directory, conforme exemplo acima.

$base_dn -> usando o exemplo do domínio phpldap.com.br essa variável ficaria da seguinte forma ‘OU=phpldap,DC=phpldap,DC=com,DC=br’.

$filter -> deve ser preenchida com o caminho LDAP completo do grupo no qual você deseja pesquisar os usuários.

Obs: o código acima consulta usuários na base de dados de um servidor Active Directory, e também pode ser adaptado para consultar usuários em uma base de dados OPENLDAP.

Categories: Ajax, css + js, JavaScript, Linux, Php + Mysql Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Upload de arquivos maiores que 30mb via PHP

26, novembro, 2008 Sem comentários

Uma coisa que poucas pessoas sabem é que via PHP é possível fazer download de um arquivo maior que o padrão “30mb”. porém isso implica em uma série de coisas, como lentidão para enviar os arquivos e tal mas localmente fica ótimo…

Bem, em primeira mão vamos configurar o php.ini ajustando alguns valores para que o mesmo funcione e também no httpd.conf do apache.

Lembrando que estuu no Fedora Core 9, mas creio que não tem divergencia para outros.

Editando o php.ini “/etc/php.ini”

Voce tem que configurar o php p/ aceitar limites maiores de upload. Vc
tem q configurar:

upload_max_filesize – eh a diretiva no php.ini que diz o tamanho do
maior arquivo a ser enviado via post p/ o php.
post_max_size - eh a diretiva que diz o tamanho total do post. Um post
“multipart” pode ter varios arquivos nele, entao esse tamanho tem que
ser maior que o upload_max_filesize
memory_limit – se o seu php for configurado com –enable-memory-limit,
voce tem que configurar essa diretiva p/ ser maior que o tamanho do
post_max_size, afinal o php vai colocar esse arquivo na memoria
durante o upload.

max_input_time – eh o tempo que o seu script fica esperando por um
dado vindo do cliente. Esse valor deve ser razoavelmente alto, caso vc
mande arquivos de varios MB.
max_execution_time – eh o tempo de execucao do seu script. Ele deve
ser maior que o max_input_time, p/ que seu script funcione a contento.

No apache tbm existe a configuracao LimitRequestBody, que eh
equivalente ao post_max_size. Caso essa configuracao nao exista, entao
nao existe limite, caso exista, configure ela igual ao post_max_size.

Espero ter ajuado… Valeu…

Navigation »