Ver Mensaje Individual
  #104 (permalink)  
Antiguo 03/10/2012, 09:10
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 7 meses
Puntos: 320
Respuesta: [APORTE] Sistema de noticias y comentarios

WOW lo que ha avanzado este proyecto, de los 6 archivos originales hora es un mostruo de mas de 100 :-/

les dejo el archivo antiyeccion.php con una validacion (no tenia ninguna) y vere de aportar algo mas a medida que entienda el codigo saludos

Código PHP:
Ver original
  1. <?
  2. // Evitamos la inyeccion SQL
  3.     Function Normalizar($VAR) {
  4.         $A = Array('À','Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ð','Ò','Ó','Ô','Õ','Ö','Ø','Ù','Ú','Û','Ü','Ý','ß','à','á','â','ã','ä','å','æ','ç','è','é','ê','ë','ì','í','î','ï','ò','ó','ô','õ','ö','ø','ù','ú','û','ü','ý','ÿ','A','a','A','a','A','a','C','c','C','c','C','c','C','c','D','d','Ð','d','E','e','E','e','E','e','E','e','E','e','G','g','G','g','G','g','G','g','H','h','H','h','I','i','I','i','I','i','I','i','I','i','?','?','J','j','K','k','L','l','L','l','L','l','?','?','L','l','N','n','N','n','N','n','?','O','o','O','o','O','o','Œ','œ','R','r','R','r','R','r','S','s','S','s','S','s','Š','š','T','t','T','t','T','t','U','u','U','u','U','u','U','u','U','u','U','u','W','w','Y','y','Ÿ','Z','z','Z','z','Ž','ž','?','ƒ','O','o','U','u','A','a','I','i','O','o','U','u','U','u','U','u','U','u','U','u','?','?','?','?','?','?');
  5.         $B = Array('A','A','A','A','A','A','AE','C','E','E','E','E','I','I','I','I','D','O','O','O','O','O','O','U','U','U','U','Y','s','a','a','a','a','a','a','ae','c','e','e','e','e','i','i','i','i','o','o','o','o','o','o','u','u','u','u','y','y','A','a','A','a','A','a','C','c','C','c','C','c','C','c','D','d','D','d','E','e','E','e','E','e','E','e','E','e','G','g','G','g','G','g','G','g','H','h','H','h','I','i','I','i','I','i','I','i','I','i','IJ','ij','J','j','K','k','L','l','L','l','L','l','L','l','l','l','N','n','N','n','N','n','n','O','o','O','o','O','o','OE','oe','R','r','R','r','R','r','S','s','S','s','S','s','S','s','T','t','T','t','T','t','U','u','U','u','U','u','U','u','U','u','U','u','W','w','Y','y','Y','Z','z','Z','z','Z','z','s','f','O','o','U','u','A','a','I','i','O','o','U','u','U','u','U','u','U','u','U','u','A','a','AE','ae','O','o');
  6.         $RES = Str_Replace($A , $B , $VAR);
  7.         Return($RES);
  8.     }
  9.  
  10.     Function Validar($TIP,$VAR) {
  11.         Switch ($TIP) {
  12.             Case 'NUM' :
  13.                 $RES = Preg_Replace('/[^0-9.-]+/' , '' , $VAR);
  14.                 If ($RES == '') { $RES = 0; }
  15.             Break;
  16.             Case 'ENT' :
  17.                 $RES = Preg_Replace('/[^0-9-]+/' , '' , $VAR);
  18.                 If ($RES == '') { $RES = 0; }
  19.             Break;
  20.             Case 'FEC' :
  21.                 Ereg( "([0-9]{1,4})-([0-9]{1,2})-([0-9]{1,2})", $VAR, $FEC );
  22.                 $RES = $FEC[1].'-'.$FEC[2].'-'.$FEC[3];
  23.             Break;
  24.             Case 'TEX' :
  25.                 $RES = Normalizar($VAR);
  26.                 $RES = Preg_Replace('/[^A-Za-z0-9:,._@-)(]+/' , ' ' , $RES);//Aqui agregar mas caracteres si es nesesario
  27.             Break;
  28.             Case 'MAI' :
  29.                 $RES = Normalizar($VAR);
  30.                 $RES = Preg_Replace('/[^A-Za-z0-9.@_-]+/' , '' , $RES);
  31.             Break;
  32.             Default :
  33.                 Die( Alertar('ERR',1) );
  34.             Break;
  35.         }
  36.         Return($RES);
  37.     }
  38. // Modificamos las variables pasadas por URL
  39. foreach( $_GET as $variable => $valor ){
  40. $_GET [ $variable ] = Validar('TEX',$_GET [$variable]);
  41. }
  42. // Modificamos las variables de formularios
  43. foreach( $_POST as $variable => $valor ){
  44. $_POST [ $variable ] = Validar('TEX',$_POST [$variable]));
  45. }
  46. ?>
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios