Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Asskiller

Login PHP + Seguranca

Recommended Posts

Ola pessoal da IMasters,

gostaria de saber como eu posso fazer o seguinte.

Possuo esse Script com interacao do IPB e Delphi , em que apenas os usuarios do meu forum poderao acessar o programa no delphi.

No Caso eu gostaria de limitar o acesso por grupo , por exemplo

Apenas os grupos 7 e 3 da minha DB irao poder acessar o programa , e como eu nao conheco muito bem a linguagem PHP , gostaria de saber como ficaria o codigo com essa alteracao de que apenas o grupo 7 e 3 dos membros irao poder acessar o programa.

 

E ha algo que eu possa fazer para melhorar a seguranca ? Criptografia algo ?

 

Espero a ajuda e obrigado.

 

 

function cleanuserinput($dirty)
{
   if (get_magic_quotes_gpc())
   {
       $clean = mysql_real_escape_string(stripslashes($dirty));
   } else
   {
       $clean = mysql_real_escape_string($dirty);
   }
   return $clean;
}

include 'conf_global.php';

//prefixo da sua tabela no IPB
$prefix = '';

if (isset($_POST['enviar']))
{
   mysql_connect($INFO['sql_host'], $INFO['sql_user'], $INFO['sql_pass']);
   mysql_select_db($INFO['sql_database']);
   $user = cleanuserinput($_POST['user']);
   $pass = cleanuserinput($_POST['pass']);
   //echo 'Você inseriu o usuário ' . $user . ' e a senha ' . $pass . '!<br/>';
   $query1 = mysql_query("SELECT * FROM " . $prefix . "members WHERE name = '$user'") or
       die(mysql_error());
   $rs1 = mysql_fetch_object($query1);
   if (mysql_num_rows($query1) > 0)
   {
       $pSalt = $rs1->members_pass_salt;
       $finalPass = md5(md5($pSalt) . md5($pass));
       $query2 = mysql_query("SELECT * FROM " . $prefix . "members WHERE name like '$user' and members_pass_hash like '$finalPass'");
       $rs2 = mysql_fetch_object($query2);
       if (mysql_num_rows($query2) > 0)
       {
           //$_SESSION['logado_no_ipb'] = true;
           echo 'Logado com sucesso!';
       } else
       {
           echo 'Senha incorreta.';
       }
   } else
   {
       //echo 'Este login não existe!';
   }
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentar postar a estrutura da tabela, mas pelo que entendi é só colocar mais um "WHERE" na consulta MySQL para buscar apenas os grupos específicos.

Como por exemplo:

SELECT * FROM " . $prefix . "members WHERE name = '$user' AND (grupo = '3' OR grupo = '7')

Substituindo "grupo" pelo nome da coluna de grupos da sua tabela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

$group = cleanuserinput($_POST['group']);

 

Declarei acima...

 

Eu fiz desse modo , porem nao sei se esta correto

$query2 = mysql_query("SELECT * FROM " . $prefix . "members WHERE name like '$user' and members_pass_hash like '$finalPass' and member_group_id like'$group'");

 

Agora como irei defenir os grupos do group ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.