Foros del Web » Programando para Internet » PHP »

problemas con preg_macht

Estas en el tema de problemas con preg_macht en el foro de PHP en Foros del Web. Hola buenas chicos foro del web como hago yo una coincidenci de textos com preg_macht ejemplo si en un envio de datos tipo $_POST o ...
  #1 (permalink)  
Antiguo 21/05/2012, 09:12
 
Fecha de Ingreso: abril-2010
Mensajes: 151
Antigüedad: 14 años
Puntos: 1
problemas con preg_macht

Hola buenas chicos foro del web como hago yo una coincidenci de textos com preg_macht ejemplo si en un envio de datos tipo $_POST o GET envien un texto que coincidan con alguno de estos me de un mensaje de alerta que este tipo de texto no puede ser insertado

ejemplo yo lo tengo asi pero no me funciona

Código PHP:
 function antiSqlProtecc($value)
    {
        
$bloqueo = array("'","/","<","|","=","\/","insert","select","update","delete","distinct","having","truncate","replace","handler","like","procedure","limit","order by","group by","asc","desc");
       
        if(
preg_match("[a-zA-Z0-9@]+",$value))
        {
            
             
$protwk trim(str_replace($bloqueo,$value$value)); 
            
             return 
$protwk
            
        }
        else
        {
            
            die(
'3: Insercion de datos no validos');
            
            }
    } 
quiero que si el campo es enviado por alguna de las palabras alla arriba mencionadas den el error die pero no me funciona
  #2 (permalink)  
Antiguo 21/05/2012, 09:52
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 10 meses
Puntos: 127
Respuesta: problemas con preg_macht

puedes usar esto:

Código PHP:
function antiSqlProtecc($value)
    {
    
    
$bloqueo = array("'","/","<","|","=","\/","insert","select","update","delete","distinct","having","truncate","replace","handler","like","procedure","limit","order by","group by","asc","desc");

foreach(
$bloqueo as $b){
    if(
eregi($b$_SERVER['HTTP_USER_AGENT'])){
        if(
$b!=""){
             die(
'3: Insercion de datos no validos');
            }        
    }
}
          
             
$protwk trim(str_replace($bloqueo,$value$value)); 
             return 
$protwk
           

cambie un poco el orden pero es para dar mas eficiencia al codigo
  #3 (permalink)  
Antiguo 21/05/2012, 10:08
 
Fecha de Ingreso: abril-2010
Mensajes: 151
Antigüedad: 14 años
Puntos: 1
Respuesta: problemas con preg_macht

GRACIAS pero habia un error en el pero lo hice de una forma que no se si este bien pero se los dejo ya que a mi me funciono si intento insertar una pablabra como por ejemplo delete , insert u otra me da el error..
espero que alguno le sea de ayuda
Código PHP:
Ver original
  1. class Antisql
  2. {
  3.    
  4.     public static function antiSqlProtecc($string)
  5.     {
  6.         $words = array("insert","select","update","delete","distinct","having","truncate","replace","handler","like","procedure","limit","order by","group by","asc","desc","or");
  7.        
  8.         $count = 0;
  9.    
  10.     $string = strtolower($string);
  11.      
  12.     if(is_array($words)) {
  13.         foreach($words as $word) {
  14.             $count += substr_count($string, $word);
  15.         }
  16.     }
  17.     if($count > $max)
  18.         {
  19.             die('3: Datos no validos intenta otros caracteres');
  20.         }
  21.     return $string;
  22.     }
  23.  
  24. }

Etiquetas: coincidencias, complejas, palabras, preg_match
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:55.