Estoy realizando una web del estilo compra/venta y aunque me manejo relativamente bien en la programación web, no tengo tanta experiencia formada..
Me gustaría leer de otros usuarios mas experientes, cuales son los mejores métodos para tener un registro y un login seguro en PHP y MySQL..
Estoy viendo de usar algo asi:
Código
<?php include_once("functions.php"); $mysqli = connect(); $stmt = $mysqli->prepare("SELECT email, pass FROM users WHERE email = ? AND pass = ?"); $stmt->bind_param('ss', $email, $pass); $stmt->execute(); $stmt->bind_result($Umail, $Upass); if($stmt->fetch() == 'true') { echo "Login!!"; } else{ echo "Logout!!"; } $stmt->close(); ?>
functions.php
Código
function connect() { include_once("db.php"); $mysqli = new mysqli($host, $user, $pass, $db); if ($mysqli->connect_errno) echo "Fallo al contenctar a MySQL: " . $mysqli->connect_error; return $mysqli; }
Ya se que el tema es super extenso, que hay muchas formas de protegerse y lo mejor es combinarlas, se que no solo es cuestión de código, sino de seguridad en el servidor también.. no pretendo una explicación detallada, pero al menos lo fundamental, que no puede faltar!!
Voy a numerar las que yo conozco, y si falta algo me ayudan comentando abajo..
- Usuarios restringidos MySql
- Cifrado de contraseña
- Permisos restringidos de las carpetas y archivos PHP
- Contador de intentos de login
- Escapar caracteres "malos"
Aclaro.. hablo de lo fundamental, que no debería faltar nunca para un registro/login seguro..
Y por ultimo, no existe algún "proyecto" que facilite todas las funciones de seguridad? O sea,, algún código ya armado y testeado? Aunque sea de pago, vale la pena por la seguridad del sitio..
Saludos! Perdon si es muy largo el post