Ver Mensaje Individual
  #7 (permalink)  
Antiguo 24/03/2015, 21:58
[^_WebMaster^_]
 
Fecha de Ingreso: abril-2001
Ubicación: Argentina
Mensajes: 67
Antigüedad: 23 años, 1 mes
Puntos: 0
Respuesta: Palabras "prohibidas"

Código PHP:
<?php

function filterXSS($variable){
    
    
$variable preg_replace('/([\x00-\x08][\x0b-\x0c][\x0e-\x20])/'''$variable);
    
    
$buscar 'abcdefghijklmnopqrstuvwxyz';
    
$buscar .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    
$buscar .= '1234567890!@#$%^&*()';
    
$buscar .= '~`";:?+/={}[]-_|\'\\';
    
    for (
$i 0$i strlen($buscar); $i++) {
        
        
$variable preg_replace('/(&#[x|X]0{0,8}'.dechex(ord($buscar[$i])).';?)/i'$buscar[$i], $variable); 
        
$variable preg_replace('/(&#0{0,8}'.ord($buscar[$i]).';?)/'$buscar[$i], $variable);
        
        }
        
        
$ra1 = Array('javascript''vbscript''expression''applet''meta''xml''blink''link''style''script''embed''object''iframe''frame''frameset''ilayer''layer''bgsound''title''base');
        
        
$ra2 = Array('onabort''onactivate''onafterprint''onafterupdate''onbeforeactivate''onbeforecopy''onbeforecut''onbeforedeactivate''onbeforeeditfocus''onbeforepaste''onbeforeprint''onbeforeunload''onbeforeupdate''onblur''onbounce''oncellchange''onchange''onclick''oncontextmenu''oncontrolselect''oncopy''oncut''ondataavailable''ondatasetchanged''ondatasetcomplete''ondblclick''ondeactivate''ondrag''ondragend''ondragenter''ondragleave''ondragover''ondragstart''ondrop''onerror''onerrorupdate''onfilterchange''onfinish''onfocus''onfocusin''onfocusout''onhelp''onkeydown''onkeypress''onkeyup''onlayoutcomplete''onload''onlosecapture''onmousedown''onmouseenter''onmouseleave''onmousemove''onmouseout''onmouseover''onmouseup''onmousewheel''onmove''onmoveend''onmovestart''onpaste''onpropertychange''onreadystatechange''onreset''onresize''onresizeend''onresizestart''onrowenter''onrowexit''onrowsdelete''onrowsinserted''onscroll''onselect''onselectionchange''onselectstart''onstart''onstop''onsubmit''onunload');
        
        
$ra array_merge($ra1$ra2);
        
        
$encontrado true;
        
        while (
$encontrado == true) {
            
            
$variable_antes $variable;
            
            for (
$i 0$i sizeof($ra); $i++) {
                
                
$pattern '/';
                
                for (
$j 0$j strlen($ra[$i]); $j++) {
                    
                    if (
$j 0) {
$pattern .= '(';
$pattern .= '(&#[x|X]0{0,8}([9][a][b]);?)?';
$pattern .= '|(&#0{0,8}([9][10][13]);?)?';
$pattern .= ')?';
}
$pattern .= $ra[$i][$j];
}
$pattern .= '/i';
$replacement substr($ra[$i], 02).'<x>'.substr($ra[$i], 2);

        
$variable preg_replace($pattern$replacement$variable);
        
        if (
$variable_antes == $variable) {
    
$encontrado false;
}
}
}
return 
$variable;
}
?>
Prueba esta =)

De mi cosecha
__________________
Saludos!