Foros del Web » Programando para Internet » PHP »

El codigo me dejo la pantalla en blanco por favor

Estas en el tema de El codigo me dejo la pantalla en blanco por favor en el foro de PHP en Foros del Web. El codigo me dejo la pantalla en blanco ayuda, Código PHP: <?  /**      * Removes all XSS attacks that came in the input.      *      * Function taken from:      *      * http://quickwired.com/smallprojects/php_xss_filter_function.php      *      * @param mixed $val The Value to filter      * @return mixed      */      private function  filterXSS ...
  #1 (permalink)  
Antiguo 26/07/2011, 01:02
(Desactivado)
 
Fecha de Ingreso: julio-2011
Mensajes: 74
Antigüedad: 12 años, 9 meses
Puntos: 4
Pregunta El codigo me dejo la pantalla en blanco por favor

El codigo me dejo la pantalla en blanco ayuda,
Código PHP:
<? 

/**
     * Removes all XSS attacks that came in the input.
     *
     * Function taken from:
     *
     * http://quickwired.com/smallprojects/php_xss_filter_function.php
     *
     * @param mixed $val The Value to filter
     * @return mixed
     */
    
private function filterXSS($val) {
        
// remove all non-printable characters. CR(0a) and LF(0b) and TAB(9) are allowed
        // this prevents some character re-spacing such as <java\0script>
        // note that you have to handle splits with \n, \r, and \t later since they *are* allowed in some inputs
        
$val preg_replace('/([\x00-\x08][\x0b-\x0c][\x0e-\x20])/'''$val);
 
        
// straight replacements, the user should never need these since they're normal characters
        // this prevents like <IMG SRC=&#X40&#X61&#X76&#X61&#X73&#X63&#X72&#X69&#X70&#X74&#X3A&#X61&#X6C&#X65&#X72&#X74&#X28&#X27&#X58&#X53&#X53&#X27&#X29>
        
$search 'abcdefghijklmnopqrstuvwxyz';
        
$search .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
        
$search .= '1234567890!@#$%^&*()';
        
$search .= '~`";:?+/={}[]-_|\'\\';
        for (
$i 0$i strlen($search); $i++) {
            
// ;? matches the ;, which is optional
            // 0{0,7} matches any padded zeros, which are optional and go up to 8 chars
 
            // &#x0040 @ search for the hex values
            
$val preg_replace('/(&#[x|X]0{0,8}'.dechex(ord($search[$i])).';?)/i'$search[$i], $val); // with a ;
            // &#00064 @ 0{0,7} matches '0' zero to seven times
            
$val preg_replace('/(&#0{0,8}'.ord($search[$i]).';?)/'$search[$i], $val); // with a ;
        
}
 
        
// now the only remaining whitespace attacks are \t, \n, and \r
        
$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);
 
        
$found true// keep replacing as long as the previous round replaced something
        
while ($found == true) {
            
$val_before $val;
            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); // add in <> to nerf the tag
             
$val preg_replace($pattern$replacement$val); // filter out the hex tags
             
if ($val_before == $val) {
                
// no replacements were made, so exit the loop
                
$found false;
             }
          }
        }
 
        return 
$val;
    }


 
?>
  #2 (permalink)  
Antiguo 26/07/2011, 01:07
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: El codigo me dejo la pantalla en blanco por favor

La estas usando con POO? lo digo por el private en la función? si no lo usas adentro de una clase quitale el private.

Código PHP:
Ver original
  1. private function filterXSS($val) {

Donde esta la clase???
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #3 (permalink)  
Antiguo 26/07/2011, 02:02
(Desactivado)
 
Fecha de Ingreso: julio-2011
Mensajes: 74
Antigüedad: 12 años, 9 meses
Puntos: 4
Respuesta: El codigo me dejo la pantalla en blanco por favor

uhmm pues era eso grx que novatada xD puede alguien explicarmelos de private etc.. static y toodo eso nose para que sirve ni como usarlo.
  #4 (permalink)  
Antiguo 26/07/2011, 02:03
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: El codigo me dejo la pantalla en blanco por favor

Cita:
Iniciado por maco8899 Ver Mensaje
uhmm pues era eso grx que novatada xD
de los errores se aprende más, de nada
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 26/07/2011, 02:05
(Desactivado)
 
Fecha de Ingreso: julio-2011
Mensajes: 74
Antigüedad: 12 años, 9 meses
Puntos: 4
Respuesta: El codigo me dejo la pantalla en blanco por favor

y que ese private y static las functiones se llamarlas y las clases como poner los var y todo eso pero que es el static etc..

Etiquetas: blanco, favor, pantalla
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 15:03.