Asskiller 4 Denunciar post Postado Junho 20, 2011 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
Leonardo.Laporte 0 Denunciar post Postado Junho 21, 2011 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
Asskiller 4 Denunciar post Postado Junho 21, 2011 $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