Ethical Hacking utilizando BackTrack - Fedora-es
Ethical Hacking utilizando BackTrack - Fedora-es
Ethical Hacking utilizando BackTrack - Fedora-es
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
El filtro que agregamos <strong>es</strong> FILTER_SANITI-<br />
ZE_MAGIC_QUOTES, el cual <strong>es</strong> equivalente a la<br />
función AddSlash<strong>es</strong>. Ahora nu<strong>es</strong>tro campo<br />
nombre, además de ser requerido (required)<br />
<strong>es</strong>tá filtrado para evitar ataqu<strong>es</strong> con técnicas<br />
como las de inyección SQL.<br />
Algunos filtros además tienen opcion<strong>es</strong><br />
adicional<strong>es</strong>, llamadas flags. Por ejemplo,<br />
FILTER_SANITIZE_STRING usado con su flag<br />
FILTER_FLAG_ENCODE_HIGH, permite codificar<br />
caracter<strong>es</strong> con valor<strong>es</strong> ASCII mayor<strong>es</strong><br />
que 127:<br />
$form->addRule("required","ape<br />
llido","El campo 'apellido' <strong>es</strong><br />
requerido",array("filter_id"=><br />
FILTER_SANITIZE_STRING,<br />
"filter_flag"=>FILTER_FLAG_<br />
ENCODE_HIGH));<br />
La lista completa de filtros y sus flags, la pued<strong>es</strong><br />
encontrar en la página oficial de php mencionada<br />
anteriormente: http://www.php.net/manual/<br />
<strong>es</strong>/filter.filters.sanitize.php.<br />
Figura 4. Formulario terminado<br />
Listado de reglas<br />
Cuando en el apartado anterior vimos la definición<br />
de las reglas con el método “addRule”,<br />
indicamos que lo primero que debíamos<br />
definir <strong>es</strong> el tipo de regla ($type). En <strong>es</strong>ta última<br />
sección veremos cada una de las reglas<br />
disponibl<strong>es</strong>:<br />
• required: El campo no puede <strong>es</strong>tar vacío.<br />
• email: El valor debe ser un correo con<br />
formato válido.<br />
• emailorblank: Debe ser un email con<br />
formato correcto o vacío.<br />
• rangelength: El valor debe <strong>es</strong>tar entre<br />
un rango de caracter<strong>es</strong> mínimo y máximo.<br />
En $options debemos definir un<br />
array con los valor<strong>es</strong> minlength y maxlength<br />
para el valor mínimo y máximo<br />
r<strong>es</strong>pectivamente.<br />
• minlength: El valor no puede tener una<br />
extensión menor de la indicada. En $options<br />
debemos definir un array con el<br />
valor minlength.<br />
• maxlength: El valor no puede tener una<br />
extensión mayor de la indicada. En $options<br />
debemos definir un array con el<br />
valor maxlength.<br />
• equal: El valor debe ser igual a otro. El<br />
valor con el que lo compararemos debemos<br />
definirlo en el array $options bajo<br />
el nombre de equalfield.<br />
• regex: El valor debe coincidir con una expr<strong>es</strong>ión<br />
regular. Dicha expr<strong>es</strong>ión la definimos<br />
en el array $options bajo el nombre de rx.<br />
• lettersonly: Debe contener sólo letras.<br />
• alphanumeric: Debe contener letras o números.<br />
• numeric: Debe contener un número positivo<br />
o negativo, entero o decimal.<br />
• nopunctuation: No puede contener alguno<br />
de los siguient<strong>es</strong> caracter<strong>es</strong>:<br />
( ) . / * ^ ? # ! @ $ % + = , " '<br />
> < ~ [ ] { }.<br />
• notbeginwith: No puede comenzar con<br />
un caracter en particular. Dicho caracter lo<br />
debemos definir en el array $options bajo<br />
el nombre de notbegin.<br />
• maxvalue : El valor ingr<strong>es</strong>ado por el usuario<br />
no puede ser mayor al definido bajo el<br />
nombre de maxvalue en el array $options<br />
de la regla.<br />
• minvalue: El valor ingr<strong>es</strong>ado por el usuario<br />
no puede ser menor al definido bajo el<br />
nombre de minvalue en el array $options<br />
de la regla.<br />
• rangevalue: El valor ingr<strong>es</strong>ado por el<br />
usuario debe <strong>es</strong>tar en el rango indicado<br />
por los valor<strong>es</strong> minvalue y maxvalue del<br />
array $options de la regla.<br />
www.lpmagazine.org<br />
programación<br />
php – Muuu Forms<br />
Figura 5. Formulario ant<strong>es</strong> y d<strong>es</strong>pués de envío,<br />
indicando avisos en casos de error<br />
• boolean: Si el valor ingr<strong>es</strong>ado <strong>es</strong> 1, true,<br />
on o y<strong>es</strong>, será válido.<br />
• float: El valor debe ser un número de punto<br />
flotante.<br />
• integer: El valor debe ser un entero.<br />
• ip: El valor debe ser un IP con formato<br />
válido.<br />
• url: El valor ingr<strong>es</strong>ado deber tener un formato<br />
de URL válido.<br />
• uploadedfile: El campo debe contener un<br />
archivo que subió correctamente.<br />
• filename: El nombre del archivo debe<br />
coincidir con el definido en el array $op-<br />
tions bajo el nombre name.<br />
• filetype: El tipo del archivo debe coincidir<br />
con el definido en el array $options<br />
bajo el nombre type.<br />
• fil<strong>es</strong>ize: El tamaño del archivo debe coincidir<br />
con el definido en el array $options<br />
bajo el nombre size.<br />
• date: El valor ingr<strong>es</strong>ado debe contener<br />
una fecha con formato válido.<br />
Conclusión<br />
La idea principal de <strong>es</strong>te artículo ha sido pr<strong>es</strong>entarte<br />
una manera simple para generar,<br />
validar y filtrar formularios en php. Si bien<br />
se han abordado varias de las principal<strong>es</strong><br />
funcionalidad<strong>es</strong> de Muuu, pued<strong>es</strong> encontrar<br />
un mayor detalle en la documentación existente<br />
en el sitio del proyecto: http://muuu.<br />
sourceforge.net.<br />
Por último, cualquier idea, pregunta, comentario,<br />
sugerencia y/o modificación al código<br />
de Muuu <strong>es</strong> bienvenida y se agradece. Suerte<br />
en todos tus proyectos.<br />
89