Cómo puedo evitar que un nuevo usuario se registre insertando un solo caracter repetidas veces? en vez de su propio nombre; así: /////////////////.
En la actual versión 1.9 aún es posible hacer esto y es bastante molesto.
Validacion de Nombres Verdaderos en el Registro de Nuevos Usuarios
Número de respuestas: 5Re: Validacion de Nombres Verdaderos en el Registro de Nuevos Usuarios
Pues no sé como hacerlo desde el código, pero lo que sí sé es que con unas reglas para el sitio puedes prohibir que graciosos se registren de esas manera. Si no acatan las reglas, cancela su inscripción y si son tus estudiantes ponles penlizaciones a su calificación. A mí me va de maravilla poner reglas en el sitio. Una vez que los usuarios han aprendido que no es un juego, las respetan.
Re: Validacion de Nombres Verdaderos en el Registro de Nuevos Usuarios
La verdad es que por falta de tiempo no me he dedicado a buscar el script de validación de dichos datos para darle solución a ese problema.
Creí que depronto alguien ya lo habia hecho. Si alguien sabe cual de los scripts que conforman la plataforma, es el que sirve para validar esos datos, le ruego me lo indique; yo acortaré así tiempo y me dedicaré a efectuar la respectiva corrección.
Creí que depronto alguien ya lo habia hecho. Si alguien sabe cual de los scripts que conforman la plataforma, es el que sirve para validar esos datos, le ruego me lo indique; yo acortaré así tiempo y me dedicaré a efectuar la respectiva corrección.
Re: Validacion de Nombres Verdaderos en el Registro de Nuevos Usuarios
Para los entendidos, se que el código con el que se debe efectuar la validacion de cadenas es el siguiente:
"function comprobar_nombre_usuario_expresiones_regulares($nombre_usuario){
if (ereg("^[a-zA-Z0-9\-_]{3,20}$", $nombre_usuario)) {
echo "El nombre de usuario $nombre_usuario es correcto<br>";
return true;
} else {
echo "El nombre de usuario $nombre_usuario no es válido<br>";
return false;
}
}"
Simplemente se ejecuta la "función ereg()" y se evalúa el resultado devuelto. Si sale para el caso positiva es que es correcto y permitido el nombre de usuario. Si ereg() devuelve un resultado que se evalúa negativamente, el nombre usuario es incorrecto.
La dificultad de esta función está en crear y ubicar correctamente la expresión regular que necesitamos para la pasarla a ereg(). En este caso se realizan las dos comprobaciones mencionadas (longitud del nombre de usuario y caracteres permitidos) en un único paso.
En el caso concreto de moodle hay que ubicarlo dentro del script de validación del formulario de registro, pero no sé cual de los archivos lo contiene.
"function comprobar_nombre_usuario_expresiones_regulares($nombre_usuario){
if (ereg("^[a-zA-Z0-9\-_]{3,20}$", $nombre_usuario)) {
echo "El nombre de usuario $nombre_usuario es correcto<br>";
return true;
} else {
echo "El nombre de usuario $nombre_usuario no es válido<br>";
return false;
}
}"
Simplemente se ejecuta la "función ereg()" y se evalúa el resultado devuelto. Si sale para el caso positiva es que es correcto y permitido el nombre de usuario. Si ereg() devuelve un resultado que se evalúa negativamente, el nombre usuario es incorrecto.
La dificultad de esta función está en crear y ubicar correctamente la expresión regular que necesitamos para la pasarla a ereg(). En este caso se realizan las dos comprobaciones mencionadas (longitud del nombre de usuario y caracteres permitidos) en un único paso.
En el caso concreto de moodle hay que ubicarlo dentro del script de validación del formulario de registro, pero no sé cual de los archivos lo contiene.
Re: Validacion de Nombres Verdaderos en el Registro de Nuevos Usuarios
El fichero de validación del formulario de registro es .../moodle/login/signup_form.php, concretamente en la función validation().
Sin embargo, la expresión regular que indicas permite perfectamente registrarse con secuencias repetidas de letras, números, guiones o subrayados como 'aaaaaaaaa', 'aa11bb22cc', '---___---', etc. Sólo por comentar
Saludos, Iñaki.
Re: Validacion de Nombres Verdaderos en el Registro de Nuevos Usuarios
Hola Jesus,
Supongo que sabes que en Administracion->Seguridad->Politicas del sitio, en "Permitir caracteres extendidos en nombres de usuario extendedusernamechar" puedes prohibir que usen caracteres no alfanuméricos.
Pero como comenta Iñaki, podrían registrarse con una secuencia del mismo caracter alfanumerico "aaaaaaaa"
Veo complicado que se pueda crear un script que funcione al 100% porque ¿que ibamos a comprobar?. Que yo sepa no existe una lista con todos los nombres y apellidos posibles.
Quizás una comprobacion seria que no hubiera mas de dos caracteres iguales consecutivos que en español no existe (o no se me ocurre). Pero no nos librariamos de los que se registran como "sñdslfdslf".
Saludos,
Enrique
Supongo que sabes que en Administracion->Seguridad->Politicas del sitio, en "Permitir caracteres extendidos en nombres de usuario extendedusernamechar" puedes prohibir que usen caracteres no alfanuméricos.
Pero como comenta Iñaki, podrían registrarse con una secuencia del mismo caracter alfanumerico "aaaaaaaa"
Veo complicado que se pueda crear un script que funcione al 100% porque ¿que ibamos a comprobar?. Que yo sepa no existe una lista con todos los nombres y apellidos posibles.
Quizás una comprobacion seria que no hubiera mas de dos caracteres iguales consecutivos que en español no existe (o no se me ocurre). Pero no nos librariamos de los que se registran como "sñdslfdslf".
Saludos,
Enrique