Ir para o conteúdo
ou

Software livre Brasil




Software livre, Compartilhar a fonte....  Multiplicando idéias..... Ajudando o próximo....  Tornando um sonho em realidade.... A felicidade de alguém que um dia chegou onde quis....


Compartilhe Felicidade....... Bons Negócios e ajude a manter vivo a nação open source.....!

Twitter/

Camaradinha

Jonatan

 Voltar a Compartilhando
Tela cheia

Checando login JOOMLA 1.5.x externamente

31 de Agosto de 2009, 0:00 , por Software Livre Brasil - 1212 comentários | Ninguém está seguindo este artigo ainda.
Visualizado 2401 vezes

Pode-se utilizar para um login via ActionScript
JonatanDesign.com


<?php
// Pegar nome de usuário e senha do formulário
$usuario = $_POST['usuario'];
$senha   = $_POST['senha'];

// Fazer conexão com o banco de dados
$db = mysql_connect("localhost", "usuarioBD", "senhaBD");
mysql_select_db("baseDeDados", $db);

// Obter senha cifrada do usuário
$sql = "SELECT password FROM jos_users WHERE username='$usuario'";
$resultado = mysql_query($sql);

// Não precisamos mais da conexão, podemos fechar o banco de dados
mysql_close($db);

// Extrair os dados do resultado da query
$pega = mysql_fetch_array($resultado);
$senhaCripto = $pega['password'];

// Separar a senha do sal
if($senhaCripto)
{
$partes = explode( ':', $senhaCripto );
$cripto = $partes[0];
$sal    = $partes[1];

// Criar hash com a senha fornecida com o sal (se houver)
$novoHash = ($sal) ? md5($senha.$sal) : md5($senha);
if( $novoHash == $cripto ) {
echo "Acesso autorizado";
} else {
echo "Acesso negado. A senha não confere!";
}

} else {
echo "Este usuário não está cadastrado";
}
?>


Tags deste artigo: joomla login externo php

1212 comentários

Enviar um comentário
  • 7937a4f8e5b07815d69e512fc648e006?only path=false&size=50&d=404Ely Ezer(usuário não autenticado)
    6 de Janeiro de 2010, 11:26

    Dúvida!

    Aonde eu vou inserir esse código inteiro para eu fazer as devidas alterações e então funcionar...?


  • C3ef13733aa992baf69423ac9e465b15?only path=false&size=50&d=404Jonatan Villela(usuário não autenticado)
    7 de Janeiro de 2010, 12:34

    login Externo em ActionScript para Joomla

    neste exemplo nao é um modulo ou componente, e simplesmente um sistema a parte que vc queira usar os usuarios que estao no seu banco de dados para se autenticar em outro sistema ou administração.


  • Bb75942e72d27e4af978a45014b8eb9d?only path=false&size=50&d=404mary(usuário não autenticado)
    14 de Janeiro de 2010, 16:14

    ligação com outra bd...

    preciso inserir na bd jos_user do joommla os usuarios de outra base de dados... para q os dados de acesso sejam os mesmos.

    O código que escreveu é ópimo para converter parte da chave ... mas ainda falta outra como faço?

    Por exemplo com o user: vsilva e pass: vsilva gera no campo password da tabela jos_users o código: a2c476a1615b5aebeb7eefe65fdfc690:zBVekZU9rreD1J1NKqat1t6rC8fiN0Wl

    A minha questão é como obtenho a segunda parte (zBVekZU9rreD1J1NKqat1t6rC8fiN0Wl)... só assim consigo inserir todos os usuarios na BD com as suas antigas pass's..

    Muito obrigada


  • Bb75942e72d27e4af978a45014b8eb9d?only path=false&size=50&d=404mary(usuário não autenticado)
    14 de Janeiro de 2010, 18:14

    ligação com outra bd...

    preciso inserir na bd jos_user do joommla os usuarios de outra base de dados... para q os dados de acesso sejam os mesmos.

    O código que escreveu é ópimo para converter parte da chave ... mas ainda falta outra como faço?

    Por exemplo com o user: vsilva e pass: vsilva gera no campo password da tabela jos_users o código: a2c476a1615b5aebeb7eefe65fdfc690:zBVekZU9rreD1J1NKqat1t6rC8fiN0Wl

    A minha questão é como obtenho a segunda parte (zBVekZU9rreD1J1NKqat1t6rC8fiN0Wl)... só assim consigo inserir todos os usuarios na BD com as suas antigas pass's..

    Muito obrigada


  • C27d9c0eeff540495e3a9b6b071a25b4?only path=false&size=50&d=404Jonatan Villela(usuário não autenticado)
    15 de Janeiro de 2010, 12:33

    Ligação da Mary.......

    Ola Mary neste caso vc pode estudar este seguinte arquivo da livraria do joomla.

    o seguinte arquivo é responsavel por gerar as variaveis $crypt.':'.$salt;
    Root_joomla/libraries/joomla/user/user.php linha 370 em diante.

    ai esta a função da classe: class JUser extends JObject

    function bind(& $array)
    {
    jimport('joomla.user.helper');

    // Lets check to see if the user is new or not
    if (empty($this->id))
    {
    // Check the password and create the crypted password
    if (empty($array['password'])) {
    $array['password'] = JUserHelper::genRandomPassword();
    $array['password2'] = $array['password'];
    }

    if ($array['password'] != $array['password2']) {
    $this->setError( JText::_( 'PASSWORD DO NOT MATCH.' ) );
    return false;
    }

    $this->password_clear = JArrayHelper::getValue( $array, 'password', '', 'string' );

    $salt = JUserHelper::genRandomPassword(32);
    $crypt = JUserHelper::getCryptedPassword($array['password'], $salt);
    $array['password'] = $crypt.':'.$salt;

    // Set the registration timestamp

    $now =& JFactory::getDate();
    $this->set( 'registerDate', $now->toMySQL() );

    // Check that username is not greater than 25 characters
    $username = $this->get( 'username' );


  • C27d9c0eeff540495e3a9b6b071a25b4?only path=false&size=50&d=404Jonatan Villela(usuário não autenticado)
    15 de Janeiro de 2010, 13:09

    Ligação da Mary.......

    Ola Mary neste caso vc pode estudar este seguinte arquivo da livraria do joomla.

    o seguinte arquivo é responsavel por gerar as variaveis $crypt.':'.$salt;
    Root_joomla/libraries/joomla/user/user.php linha 370 em diante.

    ai esta a função da classe: class JUser extends JObject

    function bind(& $array)
    {
    jimport('joomla.user.helper');

    // Lets check to see if the user is new or not
    if (empty($this->id))
    {
    // Check the password and create the crypted password
    if (empty($array['password'])) {
    $array['password'] = JUserHelper::genRandomPassword();
    $array['password2'] = $array['password'];
    }

    if ($array['password'] != $array['password2']) {
    $this->setError( JText::_( 'PASSWORD DO NOT MATCH.' ) );
    return false;
    }

    $this->password_clear = JArrayHelper::getValue( $array, 'password', '', 'string' );

    $salt = JUserHelper::genRandomPassword(32);
    $crypt = JUserHelper::getCryptedPassword($array['password'], $salt);
    $array['password'] = $crypt.':'.$salt;

    // Set the registration timestamp

    $now =& JFactory::getDate();
    $this->set( 'registerDate', $now->toMySQL() );

    // Check that username is not greater than 25 characters
    $username = $this->get( 'username' );


  • Recorte minorJonatan
    16 de Janeiro de 2010, 10:03

    Gerando Password Joomla crypt e salt

    Lembrando que o script acima é da versão 1.5.14 do Joomla, e como vcs podem perceber ele tem uma mutação na geração do $salt que encripta o $crypt com o $salt como chave de decriptografia.

    Abraços Jonatan Villela espero ter ajudado com esses comentários.


  • 8b67fca5b3195cfe2067cc53ad760094?only path=false&size=50&d=404J (Encrypted Flash Drive Guy)(usuário não autenticado)
    7 de Fevereiro de 2011, 9:53

    http://www.lok-it.net/encrypted-flash-drive/

    Password length does not generate just more than four digits. Is there any solution?


  • C02232f5bd7fc247ae3e0bd1b3b46e2d?only path=false&size=50&d=404http://www.lok-it.net/encrypted-flash-drive/(usuário não autenticado)
    19 de Abril de 2011, 8:12

    USB Encryption

    Thanks, things worked for me but can you help me out for manipulating it for the cause of password strength.


    • Recorte minorJonatan
      20 de Abril de 2011, 9:26

      manipulation password strength

      Hello my friend... yes I'm here to help them

      explains his doubts so I can better understand.

      jonatan.villela@hotmail.com


    • Recorte minorJonatan
      20 de Abril de 2011, 10:26

      Request password strength.

      <?php

      /**
      * @author hat 1
      * @copyright 2011
      */

      /**
      * @author Jonatan Villela
      * @copyright 2010
      */

      /** Texto a ser criptografado
      * */
      $Password_reversion = 'minhasenha';
      /////////////////

      /**
      * O Salt manda muito na força da senha entao lembre-se sempre do salt mais nao deixe muito grande
      * quanto maior o salt maior o processamento do processador do servidor para gerar sequencias
      *
      * */
      $salt = JUserHelper::genRandomPassword();
      $salt64char = JUserHelper::genRandomPassword('64');

      /** Examples of password strength
      * tipos de criptografias aceitos na função getCryptedPassword
      *
      *plain
      *sha
      *crypt
      *crypt-des
      *crypt-md5
      *crypt-blowfish
      *md5-base64
      *ssha
      *smd5
      *aprmd5
      */

      $cryptmd5hex = JUserHelper::getCryptedPassword($Password_reversion, $salt, 'md5-hex');

      /**
      * Criando uma sequencia com salt maior
      * */
      $cryptmd5hex64char = JUserHelper::getCryptedPassword($Password_reversion, $salt64char, 'md5-hex');

      $cryptsha = JUserHelper::getCryptedPassword($Password_reversion, $salt, 'sha');
      $cryptcrypt= JUserHelper::getCryptedPassword($Password_reversion, $salt, 'crypt');
      $cryptcryptdes= JUserHelper::getCryptedPassword($Password_reversion, $salt, 'crypt-des');
      $cryptcryptmd5 = JUserHelper::getCryptedPassword($Password_reversion, $salt, 'crypt-md5');
      $cryptcryptblowfish = JUserHelper::getCryptedPassword($Password_reversion, $salt, 'crypt-blowfish');
      $cryptmd5base64 = JUserHelper::getCryptedPassword($Password_reversion, $salt, 'md5-base64');
      $cryptssha = JUserHelper::getCryptedPassword($Password_reversion, $salt, 'ssha');
      $cryptsmd5 = JUserHelper::getCryptedPassword($Password_reversion, $salt, 'smd5');
      $cryptaprmd5 = JUserHelper::getCryptedPassword($Password_reversion, $salt, 'aprmd5');

      $termino_md5hex = $cryptmd5hex.':'.$salt;
      $termino_md5hex64char = $cryptmd5hex64char.':'.$salt64char;

      $termino_sha = $cryptsha.':'.$salt;
      $termino_crypt = $cryptcrypt.':'.$salt;
      $termino_cryptdes = $cryptcryptdes.':'.$salt;
      $termino_cryptmd5 = $cryptcryptmd5.':'.$salt;
      $termino_cryptblowfish = $cryptcryptblowfish.':'.$salt;
      $termino_cryptmd5base64 = $cryptmd5base64.':'.$salt;
      $termino_cryptssha = $cryptssha.':'.$salt;
      $termino_cryptsmd5 = $cryptsmd5.':'.$salt;
      $termino_cryptaprmd5 = $cryptaprmd5.':'.$salt;

      echo "md5-hex: " . $termino_md5hex . "<br /><br />";

      echo "md5-hex com salt 64 caracteres: " . $termino_md5hex64char . "<br /><br />";

      echo "Sha: " . $termino_sha . "<br /><br />";
      echo "Crypt: " . $termino_crypt . "<br /><br />";
      echo "crypt-des: " . $termino_cryptdes . "<br /><br />";
      echo "crypt-md5: " . $termino_cryptmd5 . "<br /><br />";
      echo "crypt-blowfish: " . $termino_cryptblowfish . "<br /><br />";
      echo "md5-base64: " . $termino_cryptmd5base64 . "<br /><br />";
      echo "ssha: " . $termino_cryptssha . "<br /><br />";
      echo "smd5: " . $termino_cryptsmd5 . "<br /><br />";
      echo "aprmd5: " . $termino_cryptaprmd5 . "<br /><br />";

      Tipos de criptografias gerados na função getCryptedPassword

      com salt padrão

      md5-hex: bc607542df6c9a61bcb1c66828f94e4a:h5ZFxohk

      com salt de 64 caracteres
      md5-hex com salt 64 caracteres: 0078d963209e0b9896d5d66159efeb44:cuMdfBKlYkzm9U4RyMxb1Px8wwnGVhi1FUUmdE770b3q66s3KXpZdwNo2Kz7eiIf

      Sha: k9UfUvvf4elE8IRyffJJk+iMruc=:h5ZFxohk

      Crypt: h5QnWQkFO1d5.:h5ZFxohk

      crypt-des: h5QnWQkFO1d5.:h5ZFxohk

      crypt-md5: h5QnWQkFO1d5.:h5ZFxohk

      crypt-blowfish: h5QnWQkFO1d5.:h5ZFxohk

      md5-base64: fGfnE6S0E5cC3hpPrGcjRA==:h5ZFxohk

      ssha: NTzs8OsXRmeke3XirIhvXqG74V1oNVpGeG9oaw==:h5ZFxohk

      smd5: vGB1Qt9smmG8scZoKPlOSmg1WkZ4b2hr:h5ZFxohk

      aprmd5: $apr1$h5ZFxohk$d4sLbbYJSYlnARc4PFMV/0:h5ZFxohk

      ?>


Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.