contraseña web

Iniciado por VíctorRoiget, 16 Noviembre 2016, 16:23 PM

0 Miembros y 1 Visitante están viendo este tema.

VíctorRoiget

buenos dias, soy nuevo en el foro i me gustaria cifrar las contraseñas de my pagina web. lo basico que tengo hasta aora es ento

Código (php) [Seleccionar]
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link rel="shortcut icon" type="image/x-icon" href="/img/transmit_add.png" />
<title>Documento sin título</title>
</head>
<body>
<div style=" position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">
<form method="POST" action="prova1.php">
Usuario: <input type="text" name="usuario" size="10"/><br>
</br>
Password: <input type="password" name="password" size="10"/><br>
</br>
<input type="submit" value="Enviar" name="privado">
</form>
</div>

</body>
</html>


y


Código (php) [Seleccionar]
<?php
// Comparamos a ver si son correctos


if ($_POST['usuario']=="tuuser" && $_POST['password']=="tupass")
{
$valido="si";
}
elseif (
$_POST['usuario']=="tuuser") {
$valido="usuario";
}
elseif (
$_POST['password']=="tupass") {
$valido="pass";
}
else
{
$valido="no";

?>

<html>
<head>
<title>Pagina privada / error</title>
</head>
<body>
<?php if ($valido=="si")

?>

' A continuación todo el contenido de nuestra pagina privada
<p>BIENVENIDO A LA PAGINA PRIVADA</p>
<?php }
else
{
?>

<p>USUARIO O CONTRASEÑA INCORRECTA</p>
<?php
 

 
?>

</body>
</html>



como veis ento es lo basico y lo que hace que la contraseña funcione.

no se mucho de programacion asi que toda aportacion sera bienvenida

MOD: La próxima vez especifica el lenguaje de programación del código en la etiqueta GeSHI.

engel lex

para esto hay metodos simples y complejos, unos más seguros que otros... en general uno seguro y simple es usar la funcion predefinida en php

password_hash y para verificarla password_verify

se usan de la siguiente manera

Código (php) [Seleccionar]

$hash = password_hash($password, PASSWORD_DEFAULT);
//lo obtenido en hash es lo que guardas a la DB


para comprobar si la contraseña es correcta

Código (php) [Seleccionar]
$hash = //lo que tengas en la db para ese usuario
if (password_verify($passowrd, $hash)) {
    echo '¡La contraseña es válida!';
} else {
    echo 'La contraseña no es válida.';
}


hay que tener en cuenta , que este método usa bcript  (que es pesado) y que usa contraseñas de un máximo de 72 caracteres de largo...


El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

VíctorRoiget

muchas gracias.



ahora bien, esto es solo para que yo me aclare, supongo que es criptografia asimetrica, pero hasta que punto en segura ???

engel lex

no es criptografía asimetrica... es un hash... es tan segura como tarden en romperlo... al ser bcrypt con salt, bastante segura diría yo, mucho más que lo que muchos servicios usan (y aún no se por qué siguen residiendo su seguridad en md5 y sha1)

te recomiendo leer el articulo de wiki sobre los hash

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.