Jump to content

Rafael Ferreira_163968

Members
  • Content count

    49
  • Joined

  • Last visited

Community Reputation

0 Comum

1 Follower

About Rafael Ferreira_163968

  1. Rafael Ferreira_163968

    Login HASH SALT

    Boa noite amigos, armazeno em um mysql senhas geradas pelo seguinte codigo: $name = "name"; $email = "email"; $password = "pass"; $string = mcrypt_create_iv (24, MCRYPT_DEV_URANDOM); $salt = strtoupper(bin2hex ($string)); $hash = hash_pbkdf2 ("sha1", $password, $string, 1000, 24, true); $hash = strtoupper(bin2hex ($hash)); //finalmente execute a seguinte consulta: $qrCreate = "INSERT INTO tc_users (name, email, hashedpassword, salt) VALUES ('$name', '$email', '$hash', '$salt')"; $stCreate = mysql_query($qrCreate) or die ('Erro ao cadastrar em '.$tabela.' '.mysql_error()); esse codigo insere um hash e salt unico nos campos, por mais que insira a mesma senha em outro usuario o hash e salt serao diferentes. ai vem a duvida, como eu faço para comparar a senha texto digitada pelo usuario com os dados inseridos no BD, por exemplo, se eu fizer a seguinte comparacao: $readTeste = read('tc_users',"WHERE id = '2'"); foreach ($readTeste as $teste); $pass = $teste['hashedpassword']; if (password_verify('pass', $pass)) { echo 'Password is valid!'; } else { echo 'Invalid password.'; } so me retorna invalido. function read esta funcionando, se eu printar o resultado da hashedpassword ele retorna os dados do banco ok. minha duvida e como comparar a senha texto com o banco, se é com o hash ou com o salt ou com os dois junto e como. desde ja obrigado
  2. Rafael Ferreira_163968

    msqli pro jquery

    Boa noite, alguem ja conseguiu atualizar o metodo de conexao e o CRUD que a upinside usa nos cursos de pro php e pro jquery para msqli? segue abaixo as funçoes, se puderem me ajudar como eu atualizo isso sem afetar o resto do site agradeço muito: conexao: define("HOST",'localhost'); define("USER",'root'); define("PASS",'senha'); define("DBSA",'banco'); $conn = mysql_connect(HOST, USER, PASS) or die ('Erro ao conectar: '.mysql_error()); $dbsa = mysql_select_db(DBSA) or die ('Erro ao selecionar banco: '.mysql_error()); CRUD: /***************************** FUNÇÃO DE CADASTRO NO BANCO *****************************/ function create($tabela, array $datas){ $fields = implode(", ",array_keys($datas)); $values = "'".implode("', '",array_values($datas))."'"; $qrCreate = "INSERT INTO {$tabela} ($fields) VALUES ($values)"; $stCreate = mysql_query($qrCreate) or die ('Erro ao cadastrar em '.$tabela.' '.mysql_error()); if($stCreate){ return true; } } /***************************** FUNÇÃO DE READ NO BANCO *****************************/ function read($tabela, $cond = NULL){ $qrRead = "SELECT * FROM {$tabela} {$cond}"; $stRead = mysql_query($qrRead) or die ('Erro ao ler em '.$tabela.' '.mysql_error()); $cField = mysql_num_fields($stRead); for($y = 0; $y < $cField; $y++){ $names[$y] = mysql_field_name($stRead,$y); } for($x = 0; $res = mysql_fetch_assoc($stRead); $x++){ for($i = 0; $i < $cField; $i++){ $resultado[$x][$names[$i]] = $res[$names[$i]]; } } return $resultado; } /***************************** FUNÇÃO DE EDIÇÃO NO BANCO *****************************/ function update($tabela, array $datas, $where){ foreach($datas as $fields => $values){ $campos[] = "$fields = '$values'"; } $campos = implode(", ",$campos); $qrUpdate = "UPDATE {$tabela} SET $campos WHERE {$where}"; $stUpdate = mysql_query($qrUpdate) or die ('Erro ao atualizar em '.$tabela.' '.mysql_error()); if($stUpdate){ return true; } } /***************************** FUNÇÃO DE DELETAR NO BANCO *****************************/ function delete($tabela, $where){ $qrDelete = "DELETE FROM {$tabela} WHERE {$where}"; $stDelete = mysql_query($qrDelete) or die ('Erro ao deletar em '.$tabela.' '.mysql_error()); }
  3. Rafael Ferreira_163968

    cortar string (substr) e gravar dados em txt.

    Boa noite mestres, peço a ajuda dos senhores em um problema que creio que não deve ser cabeludo mas nao consigo sair do lugar. segue: tenho uma função que pega dados no meu banco de dados (mais precisamente, no banco tem arquivo1.jpg, arquivo2.jpg e assim por diante), entao minha função pega esses dados (arquivo1.jpg, etc) e escreve em um txt pra download, segue a funçao: $cliente = $post['id_cliente']; $readCliente = read('usuarios',"WHERE id = '$cliente'"); foreach($readCliente as $client); $nome = $client['nome']; if(isset($_GET['relfoto'])){ $tipo = 'fotosalbum'; $pasta = '../uploads/txt/'; $txt = $pasta.$nome.'-'.$post['titulo'].'-'.$tipo.''.'.'.txt; $fdfoto = fopen($txt, "w+"); $lerFotosPedido = read('pedidos',"WHERE post_id = '$postid' AND tipo = 'foto' ORDER BY LENGTH(img_foto_nome), img_foto_nome ASC"); foreach($lerFotosPedido as $fotosPedido): $separador = ' '; $nomeFoto = substr($fotosPedido['img_foto_nome'],0,-4); $log = $nomeFoto.$separador; fwrite($fdfoto, $log); endforeach; fclose($fdfoto); $file = $txt; if (file_exists($file)) { header('Content-Description: File Transfer'); header('Content-Type: text/plain'); header('Content-Disposition: attachment; filename=' . basename($file)); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); header('Content-Length: ' . filesize($file)); ob_clean(); flush(); readfile($file); exit; }else { echo "Arquivo não existe: ".$file; } } mais especificamente a linha $nomeFoto = substr($fotosPedido['img_foto_nome'],0,-4); tipo, essa linha se eu der um echo nela, ela vai pegar no meu bd o arquivo1.jpg e mandar na tela arquivo1 sem o .jpg, so que seguindo o resto da função, que ele deveria pegar somente o arquivo1 e jogar no .txt ele nao faz isso, pega o arquivo1.jpg inteiro, com extensao e tudo e escreve no txt, alguem sabe como faço pra eliminar esse .jpg pra poder gravar no txt?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.