Autor
|
Tema: duda con regex (Leído 4,327 veces)
|
jhonatanAsm
|
hola, en una validacion para el usuario y contraseña , utilizo este regex muy sencillo:
$regex='/\W/'; $frase='cu$_*44**m 55 __ =) =)=(225?«¦pl*-+e'; $frase=preg_replace($regex,'',$frase) ;//
devuelve: cu_44m55__225ple
esto encuentra todos los caracteres menos letras,numeros, y guiones abajo.
me podria fiar de esto, es seguro? gracias por su ayuda.salu2.
|
|
|
En línea
|
mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.
- La mayor complejidad de todas es hacer complejo algo que no lo es.
- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.
|
|
|
jhonatanAsm
|
sorry, no lo puse en el subforo de php, favor de moverlo. gracias.
|
|
« Última modificación: 6 Abril 2012, 23:49 pm por jhonatanAsm »
|
En línea
|
mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.
- La mayor complejidad de todas es hacer complejo algo que no lo es.
- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.
|
|
|
:ohk<any>
Desconectado
Mensajes: 1.744
Yo lo que quiero que me salga bien es la vida.
|
Disculpa por la poca informacion brindada, pero aca es donde puedes resolver tus dudas mas facil: http://php.net/manual/es/function.preg-replace.phpSaludos
|
|
|
En línea
|
Y es que a veces pienso que si no estuviera loco no podría salir adelante. Lo que no se es capaz de dar, en realidad no se posee, uno es poseído por ello.
|
|
|
jhonatanAsm
|
creo que no me entendiste men, ha mi me funciona el codigo que puse arriba, mi duda es, si es una forma segura de validar el usuario y la contraseña. Lo utilizo principalmente para evitar o al menos dificultar un ataque sql inyection,xss, etc. agradezco tu ayuda.salu2.
|
|
|
En línea
|
mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.
- La mayor complejidad de todas es hacer complejo algo que no lo es.
- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.
|
|
|
#!drvy
|
Una contraseña deberías guardarla cifrada.. ya sea sha1, md5 o lo que sea y contenga un salt (contraseña+otro string aleatorio). Por tanto no deberías preocuparte tanto por este dato.
Un nombre de usuario no debería permitir caracteres raros como / ' " etc.. Pero en todos los casos siempre debes asegurarte de que lo que te viene es seguro al 100%.. para ello puedes utilizar funciones como mysql_real_escape_string, htmlentities etc...
Saludos
|
|
|
En línea
|
|
|
|
jhonatanAsm
|
Un nombre de usuario no debería permitir caracteres raros como / ' " etc.. claro, con ese regex detecto cualquier caracter que no sea una letra,numero o guion abajo, pero lo veo tan sencillo que parece 'rompible' . gracias por responer.salu2
|
|
|
En línea
|
mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.
- La mayor complejidad de todas es hacer complejo algo que no lo es.
- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.
|
|
|
engel lex
|
la forma mas practica es guardar la contraseña en el server como un md5 y el usr tambien (a demas de su forma real), cuando te ingrsen user y pass destruyes cualquier opcion de ataque pasando el user y pass a md5, luego llamas al mysql con el usuario en md5 y comparas la contraseña... si no entendiste aqui en "lenguaje"
tabla mysql +++++++++++++++++++++++++++++++++++ + user + md5_user + md5_pass + +++++++++++++++++++++++++++++++++++
en php
$user = md5($_get["user"]) //aqui destruyes el chance de inyeccion $pass = md5($_get["pass"]) //aqui destruyes el otro chance de inyeccion
el where seria where md5_user = $user alli no hay inyeccion que pase...
|
|
|
En línea
|
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.
|
|
|
jhonatanAsm
|
la forma mas practica es guardar la contraseña en el server como un md5 y el usr tambien (a demas de su forma real), cuando te ingrsen user y pass destruyes cualquier opcion de ataque pasando el user y pass a md5, luego llamas al mysql con el usuario en md5 y comparas la contraseña... si no entendiste aqui en "lenguaje"
tabla mysql +++++++++++++++++++++++++++++++++++ + user + md5_user + md5_pass + +++++++++++++++++++++++++++++++++++
en php
$user = md5($_get["user"]) //aqui destruyes el chance de inyeccion $pass = md5($_get["pass"]) //aqui destruyes el otro chance de inyeccion
el where seria where md5_user = $user alli no hay inyeccion que pase...
si lo hago de esa manera creo que no podre saber el user ni el pass del usuario, protegiendo sus datos, hasta de ... mì gracias men. salu2.
|
|
|
En línea
|
mi primer lenguaje fue ensamblador, tengo 60 años, y no creo que haya sido un error.
- La mayor complejidad de todas es hacer complejo algo que no lo es.
- El inteligente no es aquel que lo sabe todo sino aquel que sabe utilizar lo poco que sabe.
|
|
|
engel lex
|
de normalmente no necesitarías cifrar el nombre de usuario pero una practica común es cifrar la contraseña, jamas debe ser visible ni para ti ni para nadie hacer el where pass="$contraseña" y luego la respuesta de mysql compararla con el usuario
|
|
|
En línea
|
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.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Perl Regular Expressions (Regex)
Scripting
|
¨°o.O (ßa¢Kg|姧) O.o°
|
1
|
3,118
|
5 Julio 2010, 21:43 pm
por ~ Yoya ~
|
|
|
Ordenar array perl y regex
Scripting
|
¨°o.O (ßa¢Kg|姧) O.o°
|
6
|
5,757
|
9 Julio 2010, 03:46 am
por ~ Yoya ~
|
|
|
RegEx
.NET (C#, VB.NET, ASP)
|
CH4ØZ
|
5
|
5,444
|
16 Septiembre 2011, 00:21 am
por CH4ØZ
|
|
|
duda de regex
.NET (C#, VB.NET, ASP)
|
spiritdead
|
3
|
2,672
|
29 Diciembre 2012, 07:26 am
por spiritdead
|
|
|
[Solucionado]Duda con regex
« 1 2 »
Java
|
.:UND3R:.
|
14
|
7,843
|
26 Noviembre 2013, 21:05 pm
por .:UND3R:.
|
|