![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Jau!
Cita:
Debes comprobar que los valores recibidos en $_GET son válidos y no contienen cosas raras como código que pueda servir para hacer sql injecting o ataques xss. Es decir, antes de ejecutar el SELECT nos aseguramos de que las variables usuario y password contienen unicamente letras y dígitos, por ejemplo, y que no tengan caracteres como <,#,?,",', etc. Para esto lo mejor sería usar un script de probada eficacia como Kses o PHPIDS. La lógica que usas es "si el user no está autentificado no lo dejo entrar". Creo que sería mejor "Le dejo entrar si está autentificado". Es decir, que la opción por omisión debería ser no dejar entrar, pues si de alguna forma alguien consigue anular lo que hubiera en seguridad.php, por ejemplo sustituyendo dicho archivo no podría ir a ningún sitio. No se si este punto me ha quedado claro. El funcionamiento de seguridad.php debería ser el siguiente: session_start; if ($autentificado) include('user.php'); else include(login.php); Teniendo en user.php el típico código que pone "hola fulanito" con los enlaces o botones para cerrar sesión, ver perfil, etc. Y en login.php el form con los inputs para user y password y si acaso otro botón o enlace para "recordar contraseña" Ademas de eso en cada página, despues del seguridad.php deberias permitir unas cosas u otras en función de los derechos de acceso del uaurio, para lo cual deberías disponer de un sistema de permisos, con usuarios, roles, grupos, etc. Lo del nombre de la variable logueado no le veo mucho sentido. En mis scripts dicha variable es booleana. Claro, que un usuario, además de poder tener true o false en "logueado" tambien tiene otra variable "userlevel" que le permite mas o menos privilegios. O sea, que un user con "logueado==true" cuyo userlevel sea el "level por omisión" es practicamente un "invitado" y poco puede hacer hasta que no se le hayan otorgado derechos de acceso a alguna parte o adjudicado algún rol o adscrito a algún grupo. Cita:
Gueno, menudo rollo he largao, XDD
__________________
"la única iglesia que ilumina es la que arde" Anonimo Última edición por Julián fecha: 04-01-2010 a las 12:27:35. |
|
#2
|
|||
|
|||
|
Se que utilizar paràmetros en las consultas no soluciona todo (puede ser la constumbre de utilizarlas en delphi, "la cabra tira al monte"), pero sin tan solo se encaerga de asignar el tipo de datos correctos, pondrá más dificil . Además como comentas hay que revisar todas las variables que me pasen tanto por GET como por POST (no hay que fiarse nunca de un usuario). No conocía las librerias que mencionas pero voy a probarlas y supongo que acabarlas integrando en todo el proyecto.
el fichero seguridad.php está pensado para que en cada fichero php del proyecto incluir nada más empezar un include('seguridad.php'); de forma que se comprueba la seguridad con solo incluir este include. lo del nombre de la variable, es que lo lei por ahí,decidí incluirlo para ver si añgien me lo aclaraba. En cuanto a limitar el acceso desde una dirección ip, me parece buena idea, pero que pasa si bloqueas un usurio que te entra desde la ip tal,¿No estarías bloqueando a todos los usuarios que están tras el mismo router ya que todos salen con la misma ip? De rollo nada me has dado bastantes ideas, salu2 |
|
#3
|
|||
|
|||
|
se me acaba de ocurrir otra posible mejora, almacenar la passwd encriptada en la base de datos. Podría utilizar la funcion md5 de php
http://php.net/manual/en/function.md5.php Salu2 |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Pronunciación correcta. | marcoszorrilla | La Taberna | 1 | 12-11-2008 21:38:25 |
| Cual es la forma correcta de llamar y ejecutar un ProcAlmacenado en IB6 y Delphi 7??? | Saltamontes | Firebird e Interbase | 5 | 11-07-2007 17:05:19 |
| Cómo utilizar consultas con DISTINCT de forma correcta | dec | MySQL | 9 | 19-09-2006 17:50:47 |
| Cual es la Forma Correcta de Guardar Texto en un IbDataset con TcpServer???? | AGAG4 | Varios | 0 | 10-12-2004 22:14:41 |
| Forma correcta de emigrar base de datos.. | ronimaxh | Firebird e Interbase | 5 | 07-04-2004 23:34:38 |
|