LOCAIS

ARQUIVO

ASSINE OS FEEDS

Publicidade



Você está consultando atualmente os arquivos do mês de fevereiro de 2009.

Publicado em 26 de fevereiro de 2009 ás 19:51

fazendo autenticação via PHP + LDAP

Fazendo um sistema de autenticação com PHP + LDAP.

primeiramente cria um formulário no qual você vai passar os dados de usuário e senha:

login.html

<form id="form" action="autenticacao.php" method="post">
Usuário: <input id="usuario" name="usuario" size="30" type="text" />
Senha: <input id="senha" name="senha" size="30" type="password" />
<input name="Submit" type="submit" value="    Entrar    " />
</form>

agora vamos fazer nossa autenticação com o sistema LDAP.

autenticacao.php

<?php
session_start();

/**
*
* Criado por Édson Kuzniewski (contato Θ edsonk.com.br)
* 18-12-2008
*
**/

// FAZENDO A AUTENTICAÇÃO
if(!isLogin($_POST['usuario'], $_POST['senha'])){
  die("Usu&aacute;rio ou senha incorreto... Informe os mesmos dados de acesso da rede LDAP.  <a href=\"javascript:history.go(-1)\">voltar</agt;");
}else{
  echo "Usuário autenticado com sucesso!";
}

// função para fazer a autenticação com o LDAP.
function isLogin($usuario,$senha){
  global $sessao;

  /* DEFINE A VARIAVEL $PERSON COMO USUÁRIO */
  $person = $usuario;

  /* DEFINE O NOME OU IP DO SERVIDOR LDAP */
  $servidor="ldap";

  /* DEFINE A PORTA DE ACESSO AO SERVIDOR LDAP */
  $porta = "389";

  /* FAZ CONEXÃO COM O SERVIDOR LDAP */
  $ds = ldap_connect($servidor, $porta);

  /* DEFINE O DN DO SERVIDOR LDAP */
  $dn = "ou=Users, dc=edsonk, dc=com";

  /* DEFINE O FILTRO PARA PEGAR OS DADOS DO USUÁRIO */
  $filter="(|(sn=$person*)(givenname=$person*)(uid=$person))";

  /* EXECUTA O FILTRO NO SERVIDOR LDAP */
  $sr=ldap_search($ds, $dn, $filter);

  /* PEGA AS INFORMAÇÕES QUE O FILTRO RETORNOU */
  $info = ldap_get_entries($ds, $sr);

  /* PEGANDO SOMENTE O VALOR DO DN DO USUÁRIO DO LDAP PARA FAZER A AUTENTICAÇÃO */
  $cnC = $info[0]["dn"];

  /* FECHA CONEXÃO COM O LDAP */
  ldap_close($ds);

  /* EXECUTA COMANDO INTERNAMENTE NO SERVIDOR PARA FAZER A AUTENTICAÇÃO COM A SENHA */
  $comando = "ldapsearch -x -w ".$senha." -D '".$cnC."' uid='".$person."' uidNumber";

  /* PEGA O RESULTADO DO COMANDO E JOGA PARA A VARIAVEL $OUTPUT */
  $rs = exec($comando, $output);

  /* FAZ A VERIFICAÇÃO PELO RESULTADO, SE NÃO RETORNAR BRANCO É QUE O USUÁRIO FOI AUTENTICADO COM SUCESSO! */
  if($rs != ""){
     //echo"Logado com sucesso!";

     /* PEGANDO O UIDNUMBER DO USUÁRIO, QUE CONSTA NO LDAP, SERIA COMO UM CODIGO UNICO */
     $tmp = explode(" ", $output[10]);

     /* PEGANDO O UIDNUMBER E JOGANDO NA SESSÃO DO USUÁRIO */
     $_SESSION[$sessao]["user"]["uid"] = $tmp[1];

     /* DEFINE A FLAG PARA VERDADEIRA */
     $retorna = true;

  }else{
     //echo "Usuário ou senha incorretos!";
     $retorna = false;
  }

  if($_SESSION[$sessao]["user"]["usuario"] != ""){
     $retorna = true;
  }
  return $retorna;
}
?>

Publicado em 26 de fevereiro de 2009 ás 17:46

criando rotina de backup incremental

Criando um script shell para geral backup incremental…

backup_incrementa

#!/bin/bash
###
#  Criado por Édson Kuzniewski (contato Θ edsonk.com.br)
#  17-02-2009
#  BACKUP INCREMENTAL
#  PEGA SOMENTE ARQUIVOS MODIFICADOS NO PERÍODO DE 1 DIA
###

# Data do momento no qual o backup foi gerado.
DATA=`date +%Y-%m-%d_%Hh%Mmin`

# Origem dos dados no qual vão ser feitos os backup.
ORIGEM="/home/"

# Diretório para onde vai ser enviado o backup.
DIR="/backup"

# Nome do arquivo do backup.
ARQUIVO="backup_incremental_$DATA.tgz"

# Endereço completo do arquivo do backup.
BACKUP="$DIR/$ARQUIVO"

efeito(){
   echo
   echo
   for x in `seq 1 5`; do
      echo -n "&gt;"
      sleep 0.05
   done
   echo -n " "
}

efeito
echo "Iniciando backup incremental..."
find $ORIGEM -mtime -1 -type f -print | tar czf $BACKUP -T -
efeito
echo "Compactado."
cd $DIR
efeito
echo "Enviando e-mail..."
echo "Backup Incremental:`du -sh ${BACKUP}`." | mail -s "[servidor] backup incremental - $DATA" email@servidor
efeito
echo "Definindo chmod para 400..."
chmod 400 $BACKUP
efeito
echo "Definindo chown para o usuário de backup..."
chown backup:backup $BACKUP
efeito
echo "Final de backup incremental."
exit 0

defina modo de execução para o arquivo backup_incremental criado…

chmod 700  backup_incremental

Depois defina no crontap o periodo para que seja executado o script, neste caso vai executar de segunda a sexta as 19h.

00 19 *  *  1,2,3,4,5  root  /root/scripts/backup_incremental

Sobre

Nascido em 1985, atualmente cursando Sistemas de Informação pela Faculdades Barddal. Possue sete(7) anos de experiência com desenvolvimento de sistemas em PHP e já trabalhou em empresas como Audaces Automação Informática Industrial Ltda e UDESC - Universidade do Estado de Santa Catarina.





05/10/2011
Steve Jobs, 1955-2011
#RIPSteveJobs

Obrigado Steve!