Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: satu en 14 Diciembre 2011, 16:50 PM

Título: [Solucionado] Ayuda con preg_match()
Publicado por: satu en 14 Diciembre 2011, 16:50 PM
Hola

Estoy practicando PHP y me he encontrado con un código que utiliza la función eregi() y al sustituirla por preg_match() me lanza un warning. La parte del código es esta:
Código (php) [Seleccionar]

$pattern = "^(https?|ftp)\:\/\/([a-z0-9+!*(),;?&=\$_.-]+(\:[a-z0-9+!*(),;?&=\$_.-]+)?@)?[a-z0-9+\$_-]+(\.[a-z0-9+\$_-]+)*(\:[0-9]{2,5})?(\/([a-z0-9+\$_-]\.?)+)*\/?(\?[a-z+&\$_.-][a-z0-9;:@/&%=+\$_.-]*)?(#[a-z_.-][a-z0-9+\$_.-]*)?\$";

$url = trim($_POST['url']);

if(preg_match($pattern, $url))
   {
   //Resto de codigo

y el warning:
Citar
Warning: preg_match() [function.preg-match]: No ending delimiter '^' found in index.php on line 107

He leído que preg_match() necesita delimitadores, y al incluirlos $pattern me queda así
Código (php) [Seleccionar]

$pattern = "/^(https?|ftp)\:\/\/([a-z0-9+!*(),;?&=\$_.-]+(\:[a-z0-9+!*(),;?&=\$_.-]+)?@)?[a-z0-9+\$_-]+(\.[a-z0-9+\$_-]+)*(\:[0-9]{2,5})?(\/([a-z0-9+\$_-]\.?)+)*\/?(\?[a-z+&\$_.-][a-z0-9;:@/&%=+\$_.-]*)?(#[a-z_.-][a-z0-9+\$_.-]*)?\$/i"; //La i indica que no distinga entre MAY y min

pero me dice:
Citar
Warning: preg_match() [function.preg-match]: Unknown modifier '&' in index.php on line 107

Le agradecería mucho a quien me pueda ayudar.

Saludos
Título: Re: Ayuda con preg_match()
Publicado por: ~ Yoya ~ en 16 Diciembre 2011, 15:56 PM
Habia unas barras sin escapar y lo que estaba despues de la barra serian modificadores...

Código (php) [Seleccionar]
$pattern = "/^(https?|ftp)\:\/\/([a-z0-9+!*(),;?&=\$_.-]+(\:[a-z0-9+!*(),;?&=\$_.-]+)?@)?[a-z0-9+\$_-]+(\.[a-z0-9+\$_-]+)*(\:[0-9]{2,5})?(\/([a-z0-9+\$_-]\.?)+)*\/?(\?[a-z+&\$_.-][a-z0-9;:@\/&%=+\$_.-]*)?(#[a-z_.-][a-z0-9+\$_.-]*)?\$/i"; //La i indica que no distinga entre MAY y min


Esa esa, saludos.
Título: Re: Ayuda con preg_match()
Publicado por: satu en 16 Diciembre 2011, 16:17 PM
Hola

Muchísimas gracias ~ Yoya ~

En serio, gracias

Saludos
Título: Re: [Solucionado] Ayuda con preg_match()
Publicado por: peib0l en 17 Diciembre 2011, 12:29 PM
perdonar, pero con preg_match() como haría para controlar también la inyección sql?

solo introduciendo, las select, update, delete... etc?
Título: Re: [Solucionado] Ayuda con preg_match()
Publicado por: ~ Yoya ~ en 19 Diciembre 2011, 23:39 PM
@peib0l no es necesario utilizar expresiones regulares para esto.

Te recomiendo que leas este post: Prevención de SQLI (http://foro.elhacker.net/nivel_web/prevencion_de_sqli-t320107.0.html)

Saludos.
Título: Re: [Solucionado] Ayuda con preg_match()
Publicado por: peib0l en 20 Diciembre 2011, 13:41 PM
Cita de: ~ Yoya ~ en 19 Diciembre 2011, 23:39 PM
@peib0l no es necesario utilizar expresiones regulares para esto.

Te recomiendo que leas este post: Prevención de SQLI (http://foro.elhacker.net/nivel_web/prevencion_de_sqli-t320107.0.html)

Saludos.

gracias ~ Yoya ~