Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde
Gostaria de saber se para criar uma loja virtual em PHP é indicado a usar algum código de segurança (em PHP) para os inputs de cadastro de cliente ou outras tags do HTML?
Obrigado pela atenção.
>
acredito que não só da um md5 na senha mesmo o resto normal.. querendo mais segurança no envio de formularios (POST) só usar ssl
Basicamente é isso, mas vale lembrar que você está trabalhando e trafegando informações sigilosas, e essas informações, não são suas ( são de clientes, como número de cartão de crédito e afins .. ) então .. todo cuidado é pouco,
Na verdade para qualquer aplicação você deve tratar os dados vindo do usuário para que não venha dados estranhos ou maliciosos.
O que acontece no caso específico de e-commerce o cuidado tem que ser maior porque você ta trafegando dados financeiros de cliente, então https também é uma opção a ser pensada.
Era exatamente isso que eu queria saber!
Mas só para constar... Vcs nao tem um tutorial e/ou artigo falando mais sobre isso?
Obrigado novamente
Ninguém sabe algum artigo falando de segurança em ecommerce, ou algum tutorial ensinando a criar uma forma segura de transferir dados? (sem ser senha com md5)
>
Ninguém sabe algum artigo falando de segurança em ecommerce, ou algum tutorial ensinando a criar uma forma segura de transferir dados? (sem ser senha com md5)
Protocolo SSL, senha MD5 não é segurança enquanto a senha não chega no servidor para ser codificada..
Tem uma parada que eu uso quando não dá pra contratar SSL: criptografar a senha pra MD5 via javascript.
Assim ela já viaja criptografada. Mas o melhor mesmo é contratar um https da vida.
>
Tem uma parada que eu uso quando não dá pra contratar SSL: criptografar a senha pra MD5 via javascript.
Assim ela já viaja criptografada. Mas o melhor mesmo é contratar um https da vida.
Não é a mesma coisa .. e não funciona ! porque ? o SSL codifica toda requisição, ela não chega no servidor codificada em MD5, ou SHA1 .. às vezes, o cara não quer a senha MD5, mas sim que os dados sejam trafegados com segurança, o SSL fornece basicamente isso, qndo a requisição é enviada, passa num 'túnel' ( codificado ) , até chegar no servidor, depois que os dados já estão no servidor, daí é problema seu tratar as saídas.
Não funciona em que aspecto?
Uso no login de um de meus sites Wordpess e vai beleza. Sniffer não pega.
>
Não funciona em que aspecto?
:seta:
>
forma segura de transferir dados? (sem ser senha com md5)
Sim, eu sei que a dúvida do cara retirava Md5 da jogada. FAlei só pra mostrar algo que eu uso quando não posso contratar SSL.
Sim, eu sei que SSL e MD5 são coisas bem diferentes.
Sim, eu sei que SSL codifica tudo.
Não funcionar pro caso do cara é uma coisa, não funcionar nunca é outra.
Fiquei com medo porque você disse que criptografar Md5 em um input de senha não funciona. Não é seguro? :upset:
(claro que ssl é melhor, mas agora fiquei com medo do método que eu uso não funcionar - no meu caso não preciso que a página inteira viaje codificada, só a senha).
Muito obrigado pela ajuda :D
Agora vou procurar um tutorial ensinando a criar páginas com SSL...
>
Fiquei com medo porque você disse que criptografar Md5 em um input de senha não funciona. Não é seguro? :upset:
(claro que ssl é melhor, mas agora fiquei com medo do método que eu uso não funcionar - no meu caso não preciso que a página inteira viaje codificada, só a senha).
O problema, ao meu ver, é que qualquer criptografia que seja feita no lado cliente (JS) fica visível para um possível invasor. Ou seja, se o cara olhar o fonte, vai saber que a senha é gravada com MD5 (ou qualquer outro hash que você utilize) e isto por si só pode ser um problema, pois facilita a busca, por exemplo, de dicionários de hash.
Carlos Eduardo
Lembrando que md5 é quebrável, e que sniffar um protocolo de rede não chega a ser um comprometimento de segurança grave, pois ambos os usuários (cliente/malicioso) precisam estar compartilhando da mesma rede.
Concordando com a opinião do Andrey, que toda e qualquer aplicação que trate com dados confidenciais de pessoas deve possuir toda segurança possível, digo que não fazer uso de SSL é uma negligência por parte do responsável, mas também não faz nenhum milagre se seu código não for seguro, e também concordo com o Micox, pois o md5 em JS é uma alternativa à falta do SSL, desde que bem implementada.
No caso de uma aplicação específica minha, eu zero o valor do input de senha antes do envio, e gero uma série de inputs hidden, todos, com exceção de uma aleatória carregam md5 falsas. Além disso, utilizo segurança à Session Hijacking, SSL, e outras técnicas, claro.. O fato de eu zerar o campo input não permite que o navegador auto-complete o valor da senha posteriormente, caso o atributo "autocomplete" não baste, além de confundir ( e muito ) os script kiddies...
>
O problema, ao meu ver, é que qualquer criptografia que seja feita no lado cliente (JS) fica visível para um possível invasor. Ou seja, se o cara olhar o fonte, vai saber que a senha é gravada com MD5 (ou qualquer outro hash que você utilize) e isto por si só pode ser um problema, pois facilita a busca, por exemplo, de dicionários de hash.
Carlos Eduardo
O problema Matias, é que o cara 'não olha a fonte', todas as requisições feitas ficam grampeadas, e é aí que ele pega os dados .. ou seja, já vai estar com o MD5
No firefox, tinha uma ferramenta que demonstrava esse processo ..
O problema, ao meu ver, é que qualquer criptografia que seja feita no lado cliente (JS) fica visível para um possível invasor. Ou seja, se o cara olhar o fonte, vai saber que a senha é gravada com MD5 (ou qualquer outro hash que você utilize) e isto por si só pode ser um problema, pois facilita a busca, por exemplo, de dicionários de hash
Verdade. Perfeita resposta. O cara poderia facilmente procurar o MD5 em um dicionário de dados.
Não daria nem pra usar o salt fixo pois o cara poderia saber qual o salt simplesmente olhando o código fonte.
Uma possível solução (obviamente não tão boa quanto ssl mas é melhor que nada) seria obrigar o cliente a usar senhas fortes (existem vários scripts que obrigam isso) e também usar como salt algum outro campo do próprio cliente como seu username, sobrenome, etc. Assim, o que viajaria pela rede seria md5(senha + salt variável) ou sha1(senha + salt variável)
Assim dificultaria bastante a consulta de dicionários online.
pode ser mais claro? acredito que não só da um md5 na senha mesmo o resto normal.. querendo mais segurança no envio de formularios (POST) só usar ssl