Foros del Web » Programando para Internet » PHP »

[DUDA] ¿Cómo funcionan las variables function?

Estas en el tema de [DUDA] ¿Cómo funcionan las variables function? en el foro de PHP en Foros del Web. Hola, bueno estaba metiendo un poco de seguridad y bueno al parecer tenia vulnerabilidades XSS, busque aquí en el foro y encontré este código: @import ...
  #1 (permalink)  
Antiguo 25/05/2014, 15:17
 
Fecha de Ingreso: abril-2014
Mensajes: 56
Antigüedad: 10 años
Puntos: 0
Pregunta [DUDA] ¿Cómo funcionan las variables function?

Hola, bueno estaba metiendo un poco de seguridad y bueno al parecer tenia vulnerabilidades XSS, busque aquí en el foro y encontré este código:

Código PHP:
Ver original
  1. function filterXSS($val) {
  2.         $val = preg_replace('/([\x00-\x08][\x0b-\x0c][\x0e-\x20])/', '', $val);
  3.  
  4.         $search = 'abcdefghijklmnopqrstuvwxyz';
  5.         $search .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
  6.         $search .= '1234567890!@#$%^&*()';
  7.         $search .= '~`";:?+/={}[]-_|\'\\';
  8.         for ($i = 0; $i < strlen($search); $i++) {
  9.             $val = preg_replace('/(&#[x|X]0{0,8}'.dechex(ord($search[$i])).';?)/i', $search[$i], $val);
  10.             $val = preg_replace('/(�{0,8}'.ord($search[$i]).';?)/', $search[$i], $val); // with a ;
  11.         }
  12.  
  13.         $ra1 = Array('javascript', 'vbscript', 'expression', 'applet', 'meta', 'xml', 'blink', 'link', 'style', 'script', 'embed', 'object', 'iframe', 'frame', 'frameset', 'ilayer', 'layer', 'bgsound', 'title', 'base');
  14.         $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');
  15.         $ra = array_merge($ra1, $ra2);
  16.  
  17.         $found = true;
  18.         while ($found == true) {
  19.             $val_before = $val;
  20.             for ($i = 0; $i < sizeof($ra); $i++) {
  21.                 $pattern = '/';
  22.                 for ($j = 0; $j < strlen($ra[$i]); $j++) {
  23.                     if ($j > 0) {
  24.                         $pattern .= '(';
  25.                         $pattern .= '(&#[x|X]0{0,8}([9][a][b]);?)?';
  26.                         $pattern .= '|(�{0,8}([9][10][13]);?)?';
  27.                         $pattern .= ')?';
  28.                 }
  29.                 $pattern .= $ra[$i][$j];
  30.              }
  31.              $pattern .= '/i';
  32.              $replacement = substr($ra[$i], 0, 2).'<x>'.substr($ra[$i], 2);
  33.              $val = preg_replace($pattern, $replacement, $val);
  34.              if ($val_before == $val) {
  35.                 $found = false;
  36.              }
  37.           }
  38.         }
  39.  
  40.         return $val;
  41.     }
bueno todavía no entiendo bien las function, he leído el manual una y otra vez pero no entiendo muy bien, quería ver si me podrían explicar un poco sobre estas y bueno si las functions también se llaman y como las llamo para activarlas, gracias.
  #2 (permalink)  
Antiguo 26/05/2014, 10:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: [DUDA] ¿Cómo funcionan las variables function?

El tema de las funciones es un tema de programación en general, te sugiero buscar documentación al respecto, dicho concepto llega en la computación más de 30 años.

Lee lo siguiente: http://www.php.net/manual/es/functions.user-defined.php
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: funcionan, select, variables
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:50.