Autor
|
Tema: Login con límite intentos en PHP (Leído 6,561 veces)
|
Kaxperday
Desconectado
Mensajes: 702
The man in the Middle
|
Buenas, estoy haciendo un login simple con POST que si los datos son correctos le activo sesión y cargo variables asociadas a esa sesión, pero sería muy fácil romper ese login con fuerza bruta ya que deja enviar usuarios y contraseñas sin límite.
Por ello, quiero que cada IP tenga un máximo de 3 intentos cada minuto por ejemplo.
Al ser muy noob con PHP solo se me ocurre crear un archivo con la IP que intento el login, si falla. Así pues si falla, ponemos en el archivo datos estructurados de la forma [IP, intentos, tiempo]. Vemos si falla 3 veces y el tiempo de un minuto no ha sido superado en ese caso no validamos sus datos y mostramos error.
Pero claro creando un archivo... imaginad eso con muchas IPs intentando loguarse puede producir fallos... me pregunto si PHP nos facilitará otras formas de hacerlo, y no penséis en cookies para guardarle el estado al usuario ya que puede eliminarlas de las cabeceras y como si nada.
¿Ideas?,
Un saludo.
|
|
|
En línea
|
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
¿SQL?
|
|
|
En línea
|
|
|
|
[u]nsigned
Desconectado
Mensajes: 2.397
JS/Node developer
|
Sabes usar bases de datos como MySQL?
Una solución rápida seria guardar el numero de intentos de login en la sesion de PHP ($_SESSION). Pero claro que est puede ser saltado por alguien con un mínimo de conocimiento.
|
|
|
En línea
|
No hay atajo ante la duda, el misterio se hace aquí... Se hace carne en cada uno, el misterio es existir!
|
|
|
Kaxperday
Desconectado
Mensajes: 702
The man in the Middle
|
No sé MySQL, ¿es la única solución?, ¿que diferencia hay en guardar datos en una dbs y usar MySQL a guardarlos en un archivo y obtenerlos con Splits?.
Si no me queda otra aprenderé MySQL, aunque no quería todavía centrarme web.
Saludos.
|
|
|
En línea
|
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Con SQL puedes hacer búsquedas más rápidas, guardar más datos que solo eses. En fin, lo que es una base de datos relacional.
Además, mayor velocidad en consultas grandes por lo general.
|
|
|
En línea
|
|
|
|
[u]nsigned
Desconectado
Mensajes: 2.397
JS/Node developer
|
No sé MySQL, ¿es la única solución?, ¿que diferencia hay en guardar datos en una dbs y usar MySQL a guardarlos en un archivo y obtenerlos con Splits?.
Si no me queda otra aprenderé MySQL, aunque no quería todavía centrarme web.
Saludos.
La velocidad. Si es un sistema de prueba con pocos usuarios se podría, pero en una aplicación web real si o si hay que usar bases de datos. Si ya sabes PHP aprender lo básico de MySQL es fácil. El problema de usar un archivo es que bloquea el flujo del sistema, ya que solo se permite una operación de lectura/escritura a la vez.
|
|
« Última modificación: 13 Julio 2016, 18:32 pm por [u]nsigned »
|
En línea
|
No hay atajo ante la duda, el misterio se hace aquí... Se hace carne en cada uno, el misterio es existir!
|
|
|
Kaxperday
Desconectado
Mensajes: 702
The man in the Middle
|
Bueno la verdad que también lo tengo que usar para el login de usuarios, así que al final tendrá que caer si o si. Me miraré algún tuto: http://www.tutorialesprogramacionya.com/mysqlya/¿Qué es más difícil de hackear una base de datos SQL con sus datos cifrados o un archivo cifrado con sus estructuras de datos?, la principal vulnerabilidad de las páginas es la inyección sql, porque todos hagamos lo mismo no tiene porque ser lo mejor supongo. Dicho esto voy a aprender mysql XD, paso de montar una dbs XD. Gracias !!
|
|
|
En línea
|
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
|
|
|
[u]nsigned
Desconectado
Mensajes: 2.397
JS/Node developer
|
Definitivamente tienes que aprender PHP orientado a objetos y MySQL.
En cuanto a la seguridad no es tan complicado, y ni te preocupes por eso ahora. Mejor solo enfócate en aprender PHP+MySQL. Al menos esto:
- Tipos de datos basicos - Crear, modificar y borrar tablas - Select y update.
Con eso ya tenes lo basico.
Por que te digo que no te preocupes por la seguridad ahora?
Por que en el la plataforma web existen cientos (sino miles) de cosas que peuden ser vulnerabilidades, y lidiar con todo eso es reinventar la rueda. Cuando ya tengas un nviel como para produccion u desarrollar sistemas reales, vas a usar algun framework PHP que te simplifica todo esto. Te olvidas de la seguridad, rutas, tareas comunes, y solo te enfocas en desarrollar.
Una evz que tengas la base de PHP+MySQL te recomiendo que aprendas algun framework PHP. En lo personal CodeIgniter me parece el mejor para empezar, sobre todo si no dominas el concepto de MVC y POO.
Saludos
|
|
|
En línea
|
No hay atajo ante la duda, el misterio se hace aquí... Se hace carne en cada uno, el misterio es existir!
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Reseteadores de contador de intentos
Dispositivos Móviles (PDA's, Smartphones, Tablets)
|
TheGoblinKing
|
1
|
9,520
|
21 Septiembre 2011, 01:30 am
por julianmvrc
|
|
|
o intentos bb8520
Dispositivos Móviles (PDA's, Smartphones, Tablets)
|
km4le0n
|
0
|
3,740
|
2 Julio 2011, 03:04 am
por km4le0n
|
|
|
Monitorizar los intentos...
Hacking Wireless
|
vk496
|
1
|
2,319
|
29 Febrero 2012, 15:48 pm
por adastra
|
|
|
Ayuda!! Login con número máximo de intentos
.NET (C#, VB.NET, ASP)
|
Victortgpc
|
5
|
7,261
|
11 Febrero 2017, 17:31 pm
por Victortgpc
|
|