Re: [PHP-ES] Verificar un campo antes de insertar

[email protected] (Juan Manuel Acuña Barrera)
Newsgroups php.general.es
Message-ID <[email protected]>
Estimada Irantzu:

Coincido completamente con los comentarios que han hecho los demás compañeros del foro.

Aquí me surge una duda: ¿es necesario que permitas al usuario que escriba su contraseña?

En caso que no sea estrictamente necesario, yo te recomendaría usar un generador aleatorio de contraseñas y que al final del procedimiento se la des al usuario. Te pongo el código de un generadorcito de contraseñas que yo uso mucho:

<?php
	
	function cadenaRandom($largoCadena) {
		$arreglo = array("A","B","C","D","E","F","G","H","J","K","L","M","N","P","Q","R","S","T","U","V","W","X","Y","Z","1","2","3","4","5","6","7","8","9");
		
		$llaves = array();
		
		while(count($llaves) < $largoCadena) {
			$x = mt_rand(0, count($arreglo)-1);
			if(!in_array($x, $llaves)) {
				$llaves[] = $x;
			}
		}
		
		foreach($llaves as $llave){
			$random .= $arreglo[$llave];
		}
		return $random;
	}//cadenaRandom
	
	
	
	echo "Ejemplo de uso: <br><br>";
	
	$cadena=cadenaRandom(3);
	echo "Generando una cadena de 3 caracteres: $cadena <br>";
	
	$cadena=cadenaRandom(5);
	echo "Generando una cadena de 5 caracteres: $cadena <br>";
	
	$cadena=cadenaRandom(9);
	echo "Generando una cadena de 9 caracteres: $cadena <br>";
	
	?>

Espero que esto te sirva.

Saludos!


El 07/12/2010, a las 15:46, Ivan Rico escribió:

> Estimado irantzu
> 
> Lo que comenta Martin Iberico es totalmente correcto, yo te recomiendo que vuelvas a analizar la situación y busques otra solución ya que la hacer la contraseña unica es mala práctica, si gustas comenta la situación aquí y le damos una solución elegante y profesional.
> 
> Fomenetemos la buena práctica en PHP
> 
> 
> saludos
> 
> 
> ----- Mensaje original -----
> De: "Martin Iberico" <[email protected]>
> Para: [email protected]
> Enviados: Martes, 7 de Diciembre 2010 15:22:53 GMT -06:00 Guadalajara / Ciudad de México / Monterrey
> Asunto: Re: [PHP-ES] Verificar un campo antes de insertar
> 
> Hola Irantzu,
> 
> Estas insertando un gran problema de seguridad en tu aplicacion.
> Cualquiera podria saber que la contraseña ya existe y simplemente
> probar con todos los usuarios de tu sistema a ver a cual le hace.
> 
> Saludos
> 
> Martín Iberico
> 
> El día 7 de diciembre de 2010 16:10, Irantzu Leunda Biskarret
> <[email protected]> escribió:
>> Hola amigos, se me presenta una duda que seguro es fácil pero no la veo.
>> 
>> Tengo un formulario de inserción de unas promociones en una tabla. Uno de
>> los campos es la contraseña, el caso es que la contraseña no debe repetirse
>> en más de una promoción, aqui mi duda.
>> ¿como hago para verificar que la contraseña que me están poniendo en el
>> formulario no exista en la base de datos? y si existe ¿como le digo al
>> usuario que esa contraseña ya existe y que me regrese al formulario con los
>> campos que ya ha rellenado?
>> 
>> Si alguien quiere mi código que me lo haga saber para que se lo envíe.
>> 
>> Muchas gracias
>> 
>> --
>> PHP Spanish Localization Talk Mailing List (http://www.php.net/)
>> To unsubscribe, visit: http://www.php.net/unsub.php
>> 
>> 
> 
> --
> PHP Spanish Localization Talk Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 
> 
> --
> PHP Spanish Localization Talk Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.