Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Dicas PHP ( Linux )

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Dica Dicas PHP ( Linux )

    Banco de dados com hash md5 online
    Para quem acha que o md5 não é uma criptografia segura, aí vai mais um motivo para se preocupar.

    O site GData, projeto criado segundo o autor para passar o tempo, tem um imenso banco de dados com hashes md5 e suas respectivas senhas.

    Basta clicar em "Hash Cracker", preencher com o hash md5 e ver o resultado no campo abaixo.

    A linguagem PHP tem uma função que gera um hash md5 que usei para fazer alguns testes. Em vários dos hashes que testei as senhas foram encontradas!

    Exemplo:

    $ php -a
    Interactive shell

    php> echo md5("senha");
    e8d95a51f3af4a3b134bf6bb680a213a

    Copie e cole o hash acima no site e veja.

    As senhas de palavras estrangeiras (principalmente inglês) ou só numéricas tem uma melhor chance de serem quebradas.

    Criptografia de senha com PHP
    Hoje peguei um banco que tem a variável OLD_PASSWORD setada para ON no my.ini. Como migrei o banco de dados de outro servidor, a função PASSWORD() retornava uma senha criptografada com apenas 16 caracteres, ex:

    mysql> SELECT PASSWORD('mypass');

    +--------------------+
    | PASSWORD('mypass') |
    +--------------------+
    | 6f8c114b58f2ce9e |
    +--------------------+


    e não uma senha com caracteres 41, ex:

    mysql> SELECT PASSWORD('mypass');

    +-------------------------------------------+
    | PASSWORD('mypass') |
    +-------------------------------------------+
    | *6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4 |
    +-------------------------------------------+


    Fuçando na Internet, mais precisamente no Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...,achei uma função enviada por Michiel Vleugel em 27 de novembro último (sorry, não tem email, link ou referência à pessoa), que eu mudei apenas os nomes de variáveis para que ficasse mais compreensíveis.

    Segue a função:

    Código:
    function new_password_mysql($senha)
    {
       $cript_pass=sha1($senha,true);
       $cript_pass=sha1($cript_pass);
       return "*".strtoupper($cript_pass);
    }
    phpMD5raptor
    O phpMD5raptor é uma ferramenta escrita em PHP na qual através de brute-force você pode obter o resultado plain-text de um determinado hash md5. O script está disponível em:

    * Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...


    É muito simples utilizar o phpMD5raptor, basta fornecer permissão de execução ao script e ao executar definir os parâmetros de execução, tais como a lista de senhas em plain-text e a lista dos hashes md5, os dados dos arquivos devem estar organizados com cada informação a cada linha para que não haja problemas de execução. Os resultados encontrados serão impressos na tela.

    Sintaxe:

    ./phpMD5raptor.php [passwords-file] [md5-file]

    Corrigindo common.php do phpbb3
    Dica !

    Após baixar as traduções do phpbb3 do próprio site e mover para suas pastas de destino:

    pt_br -> /var/www/forum/language/
    subsilver2 -> /var/www/forum/styles/
    prosilver -> /var/www/forum/styles/

    Após ter movido essas pastas, fui iniciar o phpbb3 no Firefox:

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar.... php

    e me deparei com o seguinte erro no fonte:

    error unexpected ; , expecting ')' in /var/www/forum/language/pt_br/acp/common.php on line 685

    Para corrigir este erro, retire os ";" do final das linhas 685, 686, 687 e adicione ",".

    Na linha 688 deixe sem nada, como mostra no exemplo abaixo:

    685 'SETTING_TOO_LOW' => 'Definição está muito pequena!',
    686 'SETTING_TOO_BIG' => 'Definição está muito grande!',
    687 'SETTING_TOO_LONG' => 'Definição está muito longa!',
    688 'SETTING_TOO_SHORT' => 'Definição está muito curta!'

    Espero ter ajudando o GH =)

    Vlw!

    Excluir arquivo de uma pasta do servidor através do PHP
    Muito bom, por exemplo: você cria uma sistema que é amarrado com uma foto ou script. Quando você exclui o registro do banco de dados e quer que o comando também exclua o arquivo.

    Faça o teste, crie uma pasta no servidor e lhe dê permissão de 777. Depois crie um arquivo chamado teste.txt na pasta criada.

    Em seguida crie um arquivo chamado excluir.php com o conteúdo abaixo. Coloque dentro da mesma pasta e execute-o pelo browser:

    Código:
    <?php
    // Script para deletar arquivos
    // unlink -> função do php para deletar arquivo
    $arquivo = "teste.txt";
    if (!unlink($arquivo))
    {
      echo ("Erro ao deletar $arquivo");
    }
    else
    {
      echo ("Deletado $arquivo com sucesso!");
    }
    ?>
    Mostrar mensagem aleatória (arquivo texto)
    Às vezes falta conteúdo para completar a página principal e uma boa estratégia é exibir uma mensagem qualquer de um arquivo texto para tampar esse buraco. Faça o seguinte:

    1. Crie um texto com as mensagens

    2. Insira a função que chama a mensagem aleatória no seu código
    Código:
    <?php
    /*
    * Função para ler uma dica
    */
    function gerar_dica() {
      $dados = file("dicas.txt");
      $dados = array_reverse($dados);
      $total = count($dados);
      $index = rand(0,$total-1);
      return $dados[$index];
    }
    ?>

    3. Usando a função:
    Código:
    <?php
      echo gerar_dica();
    ?>
    OBS: Preste atenção nas permissões do arquivo texto! Tem que haver permissão de leitura.

    Servidor web PHP completo
    Se você precisa de um servidor web (Apache) com PHP para conectar com banco de dados Oracle (PHP com oci8, pdo_oci), DB2, MySQL dentre outros, a solução que te dou é instalar o Zend Server Community Edition (CE).

    Este software é completíssimo e o mesmo disponibiliza de interface web para configuração. Na verdade o Zend Server Community Edition é tudo que você precisa para trabalhar com Zend, pois é de fácil instalação no Windows ou até mesmo no Linux, e se você não mexe com Zend Framework não tem problema, vai ter um servidor Web PHP cheio de recursos.

    Seguem abaixo os links.

    Informações do produto Zend Server CE:
    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Documentação para instalação no Linux em ambiente DEB:
    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Documentação para instalação no Linux em ambiente RPM:
    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Documentação completa:
    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Download do Zend Server CE para Linux e Windows:
    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Classe para validação de formulários em PHP
    Realizando buscas na internet encontrei uma classe que facilita muito a validação de formulário em PHP. Sem falar que o desenvolvedor Túlio é muito gente boa, me ajudou com exemplos e adicionou uma nova função para validar mac-address.

    Aqui está o endereço da classe:

    * Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Documentação do CodeIgniter em português
    Muitos conhecem o framework PHP CodeIgniter. E muitos gostariam de ter a documentação do mesmo em português. Por isso segue um link com esta documentação.

    * Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Criando variáveis dinâmicas em PHP a partir de um formulário

    Bom pessoal, aí vai uma dica de como pegar todos os valores de um formulário em uma página PHP sem ter que ficar declarando campo por campo, como a seguir:

    Código:
    $nome = $_POST['nome'];
    $sexo = $_POST['sexo'];
    $idade = $_POST['idade'];
    etc...
    Se o seu formulário tiver mais de 100 inputs, sua página PHP terá 100 linhas assim, o que torna-se pouco produtivo e proporciona muitas possibilidades de erro.

    Uma opção muito prática para solucionar este problema é a estrutura "foreach" e a função "eval". O foreach percorrerá o array de dados que vem por post da página do formulário e o eval transformará estes dados em variáveis dinamicamente, como exemplo abaixo:

    Código:
    //Página que recebe os dados
    <?
    foreach($_POST as $key => $valor)
    {
       /* Aqui se declara variável dinamicamente; pode ser um array de variáveis com conteúdo do array post onde cada posição contém o nome do campo do formulário e o valor será o valor do campo do formulário, ou criar várias variáveis isoladas como abaixo. */
       $temp = "\$".$key." = \"".$valor."\";";
       eval($temp);
    }
    //O que seria como se declarássemos assim
    $key = $valor; //Onde key e nome do campo do form e valor o valor do campo.
    //No caso de se criar um array seria assim:
    $temp = "\$Dados['".$key."'] = \"".$valor."\";";
    eval($temp);
    //Assim todos os dados que vierem do formulário estarão no array Dados.
    Bom, espero que ajude alguém.

    Colocando o "bcompiler" pra funcionar no PHP5
    Alguns amigos estavam com "problemas" para instalar o bcompiler, falei que poderiam procurar no Viva o Linux que eles achariam alguma coisa para ajudá-los... me falaram que procuraram e não acharam nada, então resolvi postar essa dica, pois pode ser que seja a dúvida de mais alguém.

    A instalação foi feita no SO: Linux - Debian 2.6.18-6-686.

    Vamos lá, logado com root, atualizar a sources.list (se necessário):

    # aptitude update


    Atualizar o sistema (se necessário):

    # aptitude upgrade


    Instalar os pacotes necessários:

    # aptitude install apache2 php5 php5-cli php5-dev libbz2-dev

    Baixar o bcompiler:

    # wget Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Após ter baixado a versão mais nova do bcompiler, descompacte-a em um diretório de sua escolha, no meu caso usei o /home/denys. Para facilitar, pode-se renomear o diretório descompactado para "bcompiler".

    Entre no diretório /home/denys/bcompiler e digite:

    # phpize
    # ./configure
    # make
    # make test
    # make install


    Estamos quase lá, falta só configurar o php.ini.

    Abra o arquivo /etc/php5/apache2/php.ini com o seu editor de textos favorito, no meu caso o "vi".

    Adicione a linha:
    Código:
    extension=bcompiler.so
    Salve e feche o arquivo.

    Feito isso, crie no diretório /var/www/ o arquivo phpinfo.php.

    Abra o arquivo e coloque o conteúdo:
    Código:
    <?php
    phpinfo();
    ?>
    Salve e feche o arquivo.

    Reinicie o Apache:

    # /etc/init.d/apache2 restart

    Vá em um navegador e digite:

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Se tudo deu certo, abrirá uma página com as informações do PHP, dê uma olhada nas informações e você verá a versão do bcompiler instalado.




    Code Igniter - Programando com segurança e velocidade
    Code Igniter é um poderoso framework PHP-MVC construído para programadores PHP que precisam de uma simples e elegante ferramenta para criar aplicações web avançadas.

    Se você for um desenvolvedor que vive no mundo real das contas de hospedagens compartilhadas e clientes com prazos muito curtos...

    Code Igniter é ideal para você se:

    * Você precisa de um alto desempenho.
    * Você precisa ampla compatibilidade com o padrão de hospedagens compartilhadas convencionais;
    * Você quer um framework que exige quase zero configuração;
    * Você quer um framework que não precisa usar a linha de comando.


    Acesse: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar... ou Procure No Google.

    FirePHP: Depurador de códigos PHP
    Muitos já estão acostumados com a utilização do FireBug para depurar os seus códigos Javascript, HTML e CSS. Mas e o que fazer com o PHP? Nada de quebrar a cabeça. Agora temos mais uma grande ajuda no desenvolvimento Web. O FirePHP!

    Utilizado a partir do próprio FireBug, o FirePHP é uma ferramenta interessante para depurar códigos de scripts PHP. Para instalar a extensão é só acessar

    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Informações detalhadas sobre o uso desse produto podem ser encontradas no site do projeto

    * Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...


    Após a instalação, certifique-se que em /usr/lib/php existe o diretório "FirePHPCore". É onde estão as bibliotecas necessárias para o funcionamento da extensão. Se não, dê uma olhada no diretório extensions dentro desse mesmo diretório (/usr/lib/php). Se ele estiver aí, crie um link de /usr/lib/php/FirePHPCore em /usr/lib/php. No caso de não encontrar o FirePHPCore, no site do projeto é possível baixar a PHP Library. Descompacte e copie o FirePHPCore para /usr/lib/php.

    Para testar, logo no início da página do projeto é apresentado um código PHP. Copie, salve e teste. Se tudo estiver correto, você agora poderá depurar seu código PHP como é mostrado nesse site.

    PHPBurn e PHP Cupé: Dois novos frameworks PHP nacionais
    Tem novidade na área!

    Estão para serem lançados dois novos frameworks PHP nacionais: o PHPBurn e PHP Cupé!

    Leia mais sobre:
    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...

    Fonte: vivaoLinux
    Postado Por: RedDeviL


    Last edited by Alison_PC; 12-02-2010, 01:31.

  • Font Size
    #2
    Gostei muito programo em php a algum tempo já mas estou sempre em busca de mais conhecimento.
    Todo o homem que tem um valor real não tem nenhum valor moral e muito menos social!

    Juliano Silva

    Comment

    X
    Working...
    X