Ir para conteúdo
Camilavip

Gravando senha criptografada

Recommended Posts

Boa noite a todos, estou tendo um probleminha em gravar a senha criptografada, na verdade editar, pois quando gravo vai certo, mas na edição não está dando certo.

A baixo quando cadastro o cliente é assim, e está indo perfeito.

 

$nome = $_POST['nome'];
$email = $_POST['email'];
$login = $_POST['login'];
$senha = sha1($_POST['senha']);

Mas na hora da edição como está um pouco diferente estou tentando colocar esse sha1 em todo lugar e não está dando

nome='$_POST[nome]',
email='$_POST[email]',
login='$_POST[login]',
senha='$_POST[senha]',

Então no de cima no cadastro está ok, mas na edição não sei mais aonde coloco esse sha1 para dar certo ou é burrice minha mesmo,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui assim.

senha=sha1('$_POST[senha]'),

Mas veio outro problema, quando edito o cadastro ele troca a senha sozinho.

Se eu trago a senha do banco, ele regrava a senha já criptografada em outra, se eu deixo o campo vazio para só trocar quando digitar algo, o vazio ele gera uma senha criptografada. Fiquei sem saída

Compartilhar este post


Link para o post
Compartilhar em outros sites

A função Sha1 calcula a hash da string, e este hash é um número hexadecimal de 40 caracteres, não há possibilidade de descriptografar, porém esta  forma de armazenar senhas com sha1, md5 e base_encode, hash com sha512, hoje em dia não é mais recomendado.

Existe funções nativas e melhores, uma delas é a:

https://www.php.net/manual/pt_BR/function.password-hash.php

Vontando ao seu código.

senha=sha1('$_POST[senha]')

Não é nescessário usar aspas simples em variaveis de funções

Remova as aspas simples 

senha =sha1 ($_POST['senha'])

 

e valide estas entradas de formulários,  como por exemplo, para email, use os filtros de sanitização

 

https://www.php.net/manual/en/filter.filters.sanitize.php

$email = filter_var ( $_POST['email'], FILTER_SANITIZE_EMAIL);

ou terá problemas.

 

Em 06/08/2020 at 21:55, Camilavip disse:

Mas veio outro problema, quando edito o cadastro ele troca a senha sozinho.

Se eu trago a senha do banco, ele regrava a senha já criptografada em outra, se eu deixo o campo vazio para só trocar quando digitar algo, o vazio ele gera uma senha criptografada. Fiquei sem saída


Há várias maneiras de se fazer isto, umas delas é montar a query dinamicamente, de acordo com o campos enviados. Ou criar duas queries de update, uma contendo o campo senha e a outra não.

 


if (empty($_POST['senha'])) {
	// update sem o campo senha
} else {
	// update contendo o campo senha
}








 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa "moça" faz varios posts no forum dando uma de "quero uma forma facil" e estou vendo varias pessoas codando pra ela exatamente o que ela pede.

 

Tomem cuidado com estes tipos de perfis de mulher com foto bonitinha porque você pode estar trabalhando de graça querendo agradar uma moça enquanto está sendo feito de otario!

 

Esse perfil já vi em outros foruns também...

"Ela" raramente posta algum código e sempre aparecem os caras com soluções prontas e personalizadas ao que ela pede, prestem atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 horas atrás, Guilherme Luiz disse:

Essa "moça" faz varios posts no forum dando uma de "quero uma forma facil" e estou vendo varias pessoas codando pra ela exatamente o que ela pede.

 

Tomem cuidado com estes tipos de perfis de mulher com foto bonitinha porque você pode estar trabalhando de graça querendo agradar uma moça enquanto está sendo feito de otario!

 

Esse perfil já vi em outros foruns também...

"Ela" raramente posta algum código e sempre aparecem os caras com soluções prontas e personalizadas ao que ela pede, prestem atenção.

Já te respondi em outro fórum. Acho que você está incomodado com as pessoas que tem capacidade de ajudar outras. Creio não ser nada ético postar algo desse tipo sem conhecer as pessoas.

Compartilhar este post


Link para o post
Compartilhar em outros sites
13 horas atrás, Guilherme Luiz disse:

Essa "moça" faz varios posts no forum dando uma de "quero uma forma facil" e estou vendo varias pessoas codando pra ela exatamente o que ela pede.

 

Tomem cuidado com estes tipos de perfis de mulher com foto bonitinha porque você pode estar trabalhando de graça querendo agradar uma moça enquanto está sendo feito de otario!

 

Esse perfil já vi em outros foruns também...

"Ela" raramente posta algum código e sempre aparecem os caras com soluções prontas e personalizadas ao que ela pede, prestem atenção.

Aqui não é StackOverFlow, que tem regras pra tudo, "oque levou muita gente para grupos de Facebook e Telegram", já tive dúvidas do mesmo tipo quando estava começando. Levei porrada de gente arrogante, e tive as melhores respostas de gente humilde na minha caminhada.

- ->>  Se está lhe incomodando, ignore.  Simples assim!!!

Sem falar que, este fórum está quase morto, ela é umas das que movimenta o fórum.

Compartilhar este post


Link para o post
Compartilhar em outros sites
7 horas atrás, Williams Duarte disse:

Aqui não é StackOverFlow, que tem regras pra tudo, "oque levou muita gente para grupos de Facebook e Telegram", já tive dúvidas do mesmo tipo quando estava começando. Levei porrada de gente arrogante, e tive as melhores respostas de gente humilde na minha caminhada.

- ->>  Se está lhe incomodando, ignore.  Simples assim!!!

Sem falar que, este fórum está quase morto, ela é umas das que movimenta o fórum.

Obrigado pela força, não sou programadora, apenas tento aprender um pouco para melhorar o que tenho. Mas muitas pessoas acham que qualquer um que entra no fórum tem de ser programador ou dominar essa função. Pedir ajuda passa a ser um crime por alguns, e quem ajuda parece que deve ser condenado por isso. Obrigada por ajudar e não ficar questionando como muitos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é questão de regra ou não.
Muito menos de conhecimento ou não

 

O que estou apontando é uma pessoa que sempre pede coisas especificas e personalizadas e vejo as pessoas entregando de graça...

 

Isso não é ajudar quem tem dúvida

Quem está "codando" para ela não está ajudando

Muito menos ser arrogante.

 

Concordo que a comunidade de devs tem que ser formada por devs de todos os niveis, mas a partir do momento que é percebido que as "ajudas" fornecidas são códigos prontos do que a pessoa pede, ai já não é ajudar e sim trabalhar de graça.

Apenas para recordar uma das orientações/regras do fórum

 

2 - Estamos Aqui Para Orientar
Poste um trecho do que você já fez. Estamos aqui para te orientar e para te ajudar a aprender. Não vamos fazer seu trabalho por você.

 

Para não sair de "vilão" digo: Sou totalmente a favor de troca de dúvidas, ajudar, orientar, direcionar tanto que eu mesmo diariamente fico lendo foruns, postando dúvidas, esclarecendo dúvidas, etc. Entendo e sei que todos começamos do passo 1, mas no caso em questão repare em demais publicações que é um usuário de CTRL+C / CTRL+V que por diversas vezes se faz de "me ajudem por favor não sei o que fazer" e acaba conseguindo códigos prontos e personalizados.

 

O intuito não é no sentido de pare de ajudar as pessoas, estou sendo ignorante/arrogante, nada disso, mas sim de alertar a todos que estão trabalhando de graça para esse usuário e tais coisas não devem ser ignoradas e movimentar o fórum só por movimentar é melhor ficar sem movimento mesmo.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Guilherme Luiz, veja a maioria das respostas especificamente deste fórum, "desde quando iniciou", as respostas sempre foram no mesmo formato. Lá no Stack, onde também colaboro, minhas respostas já é totalmente diferente das daqui, são outras regras e outros egos.

 

Com o seu modo de pensar, você jamais poderá usar framewoks, bibliotecas, pois muitos trabalharam de graça, e duvido que você estava lá pelo menos ajudando nas documentações "eu já fiz alguns pull requests em projetos que uso e, ainda vou continuar". Veja o case Laravel, Vue, quantas pessoas abraçaram as idéias de Taylor Otwell e ‎Evan You  sem ganhar um centavo troca, se eles hoje faturam alto, é devido ao espírito open source. Se você não entendeu isto ainda, esquece ferramentas como Composer, Docker, Kubernetes, e tantas outras que ainda vão surgir.

Aqui mesmo, você acabou entregar o código mastigado para o rapaz.

https://forum.imasters.com.br/topic/586585-chamar-json-com-php/?do=findComment&comment=2288320

Se você se preocupa tanto, em não trabalhar de graça ou coisa do tipo, indique o link no manual e deixa o cara estudar, lembrando que já vi em outros posts seus, a mesma ação.

Encerro aqui, porque suas atitudes não condiz. 

E deixa a moça em paz!

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por daemon
      Estou com uma dúvida,
       
      Eu tenho uma rotina que faz uma leitura do arquivo .xml de vários sites.

      Eu consigo pegar o tópico e a descrição, porém gostara de mostrar a imagem que esta na pagina do link.
       
      É possível eu colocar na minha index o url, e aparecer uma preview da imagem que esta no link ? 
       
      Igual o google: https://news.google.com/topics/CAAqKggKIiRDQkFTRlFvSUwyMHZNRGx1YlY4U0JYQjBMVUpTR2dKQ1VpZ0FQAQ?hl=pt-BR&gl=BR&ceid=BR%3Apt-419
       
      No caso eu importo o tópico e descrição, porém não consigo deixar essa imagem na pagina principal.
    • Por violin101
      Caros amigos, saudações.

      Estou com uma dúvida:
      Como consigo fazer uma rotina no sistema onde possa fazer de forma automática trazer o resultado de entrada de produtos a cada 3 meses, por exemplo:

      Produtos --- Entrada ---  Meses
      Prod_A -------- 100 ------ 01/2024
      Prod_A -------- 120 ------ 03/2024
      Prod_A -------- 105 ------ 04/2024
      =========================
      Prod_B -------- 105 ------ 02/2024
      Prod_B -------- 120 ------ 03/2024
      Prod_B -------- 130 ------ 04/2024
      =========================
      ETC
       
      Como consigo mostrar para o usuário esse movimento de entrada a cada 3 meses ?

      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Peço desculpa em recorrer a ajuda dos amigos, pois está sendo um mistério para mim, configurar o meu sistema para Impressão de XML e NFe.

      Quando acrescento as linhas no início do Controller:
      use NFePHP\NFe\Make;
      use NFePHP\NFe\Tools;
      use NFePHP\NFe\Danfe;
      etc, etc.
       
       e chamo a libraries assim em alguma função:  $nfe = new Make(); e etc. <== o sistema acusa que não consegue achar 
       
      fiz as alterações necessárias no autoload
      /* |-------------------------------------------------------------------------- | Composer auto-loading |-------------------------------------------------------------------------- | | Enabling this setting will tell CodeIgniter to look for a Composer | package auto-loader script in application/vendor/autoload.php. | | $config['composer_autoload'] = TRUE; | | Or if you have your vendor/ directory located somewhere else, you | can opt to set a specific path as well: | | $config['composer_autoload'] = '/path/to/vendor/autoload.php'; | | For more information about Composer, please visit http://getcomposer.org/ | | Note: This will NOT disable or override the CodeIgniter-specific | autoloading (application/config/autoload.php) */ $config['composer_autoload'] = './vendor/autoload.php';  
      o meu composer.json está assim:
      { "description": "The CodeIgniter framework", "name": "codeigniter/framework", "type": "project", "homepage": "https://codeigniter.com", "license": "MIT", "support": { "forum": "http://forum.codeigniter.com/", "wiki": "https://github.com/bcit-ci/CodeIgniter/wiki", "irc": "irc://irc.freenode.net/codeigniter", "source": "https://github.com/bcit-ci/CodeIgniter" }, "require": { "php": ">=5.3.7", "mpdf/mpdf": "^7.1", "nfephp-org/sped-nfe": "^5.0", "nfephp-org/sped-da": "^1.0" }, "suggest": { "paragonie/random_compat": "Provides better randomness in PHP 5.x" }, "autoload": { "psr-4": { "Libraries\\": "application/libraries" } } }  
      após instalar a NFePhp através do composer, o caminho da pasta NFePhp está assim:
      nome_do_meu_sistema
      |____ application
      |______vendor
      |________nfephp-org
      |__________sped-common
      |__________sped-da
      |__________sped-gtin
      |__________sped-nfe

      Como consigo trazer os comando/libraries da NFe para poder utilizar no projeto.
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Estou com uma dúvida e não estou conseguindo resolver.
       
      Tenho uma tabela onde o usuário lança a Entrada de Produtos <=== até aqui tudo bem.

      O problema que estou encontrando é: 
      - após lançar os itens e se por alguma necessidade precisar fazer devolução, gostaria de alterar o STATUS do lançamento do PRODUTO de 1 para 2, ou seja:
       
      lançou:
      101 - Caneta ------- 10 x 1.50 = 15,00 status = 1
      102 - Lápis --------- 10 x 1.50 = 15,00 status = 1
      103 - Borracha ---- 10 x 1.50 = 15,00 status = 1
      104 - Apontador - 10 x 1.50 = 15,00 status = 1
       
      Se precisar DEVOLVER os itens 102 e 103 o Status de 1 passa para 2, ou seja:
      101 - Caneta ------- 10 x 1.50 = 15,00 status = 1
      102 - Lápis --------- 10 x 1.50 = 15,00 status = 2
      103 - Borracha ---- 10 x 1.50 = 15,00 status = 2
      104 - Apontador - 10 x 1.50 = 15,00 status = 1
       
      Obs.: como consigo filtrar o CódigoProduto + NúmeroLançamento, para não ocorrer o erro de alterar todos.
       
      O problema que estou enfrentando, quando dou o Comando para Alterar, o Sistema Altera todos os produtos lançados que estiver na base de dados, ou seja, onde tiver 102 e 103, o sistema altera.
       
      o meu código:
      CONTROLLER
      /*Salva o Detalhe do Lançamento*/ protected function save_detalhe($prods,$qtde,$vlrunit,$vlrtotal,$notaLct,$numlcto,$codslct){ for ($i=0; $i < count($prods); $i++) { $data = array( 'cod_prod' => $prods[$i], 'qtd_prod' => $qtde[$i], 'vlr_unit' => $vlrunit[$i], 'vlr_total' => $vlrtotal[$i], 'status' => 2, 'devitens' => 2, 'n_nf' => $notaLct, 'lancamentos_idlcto'=> $numlcto, ); //Função para Salvar os Detalhes do lançamento $this->devolucao_model->save_detalhe($data); //Função para Atualizar a Quantidade de Produto no Estoque $this->update_produto($prods[$i],$qtde[$i],$vlrunit[$i],$vlrtotal[$i]); //Função para Alterar Devolução do Item $this->upd_itens($prods[$i],$notaLct[$i],$codslct[$i]); } } /*<=== até aqui tudo certo, como deve ser feito*/ /* * O Problema está aqui * para não ocorrer duplicidade de Lançamento, * o sistema altera o Status do 1º. lançamento */ protected function upd_itens($idprds,$notaLct,$codslct){ $data = array( 'devitens' => 2, ); $this->devolucao_model->update_itens($idprds,$data); }  
      MODEL:
      //Altera o Campo Devolução do Item Lançado //Altera todos os código de produto que encontrar public function update_itens($idprds,$data){ $this->db->where("cod_prod",$idprds); return $this->db->update("lctos_itens",$data); }  
      Grato,
       
      Cesar






       
       
       
       
       
       
    • Por violin101
      Caros amigos, saudações.
       
      Estou com uma dúvida e não consigo entender, fiz várias pesquisas e tentativas antes de recorrer aos amigos.

      Tenho uma CLASS e quando chamo dentro de um CONTROLLER o sistema acusa que não acha o caminho da CLASS.
      Como consigo fazer para o sistema localizar/chamar a CLASS dentro do Controller ?

      a classe está assim:
       
      <?php namespace Servicos; use NFePHP\NFe\Make; use NFePHP\NFe\Tools; error_reporting(E_ALL); ini_set('display_errors', 'On'); class NFeServicos{ public function __construct($config, $empresas){ //codes... } }  
      Controller:
       
      <?php defined('BASEPATH') OR exit('No direct script access allowed'); use NFePHP\Common\Certificate; use NFePHP\DA\NFe\Danfe; use Servicos\NFeServico; //chamo a class class NotaFiscal extends CI_Controller { public function gerarXml() { $id = $this->input->post('idLct'); $this->load->model('estoque/lancamentos_model', '', true); $venda = $this->lancamentos_model->getById($id); $nfe = new NFeServico(); //<o erro acontece aqui, não localiza. } }  
       
      Grato,
       
      Cesar
×

Informação importante

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