• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Patrijosa

[PHP] Função para verificar a qualidade da senha

8 mensagens neste tópico

Verificar qualidade de senha

Aqui vai uma função para verificar a qualidade de uma senha, ele qualifica de acordo com o tamanho da senha, e pela presença de caracteres minúsculos, maiúsculos, numéricos e alguns especiais que você pode editar se quiser.

Segue a função abaixo:

vPass(string); - return integer

<?php
//by patrijosa
function vPass($pass)
{
$len = strlen($pass);
$count = 0;
$array = array("[[:lower:]]+", "[[:upper:]]+", "[[:digit:]]+", "[!#_-]+");

foreach($array as $a)
{
	if(ereg($a, $pass))
	{
		$count++;
	}
}

if($len > 10){
	$count++;
}
return $count;
}
?>

Exemplo de uso:

<?php
$test = vPass("#S3nh4-Qu4lqu3r");

switch($test)
{
case 1: echo "Senha Ruim!"; break;
case 2: echo "Senha Fraca!"; break;
case 3: echo "Senha Boa!"; break;
case 4: echo "Senha Óptima!"; break;
case 5: echo "Senha Excelente!"; break;
}
?>

Espero ter contribuído por alguma coisa

Cumps de Patrijosa

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tá altamente e bem simples!

Mas acho que devia haver pontuação diferente para cada tipo. Letras deviam receber menos "pontos" que caracteres de pontuação, por ex.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu tenho um site em que o utilizador mete uma password. Mas onde meto esse código?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

No ficheiro que recebe o post, é como se estivesses a validar outro campo qualquer.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Este código vai deixar de funcionar no PHP6.

O ereg vai desaparecer não é?
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

As ereg* sim. Passa a existir apenas as funções com sintaxe do Perl, as preg_*.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora