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 método encargado de agregar reglas <strong>es</strong><br />
addRule:<br />
addRule($type,$field,<br />
$errormsg,$options="")<br />
Donde:<br />
• $type, debe indicar una de las 26 reglas<br />
disponibl<strong>es</strong>.<br />
• $field, <strong>es</strong> el nombre del campo al cual le<br />
aplicamos la regla.<br />
• $errormsg, incluimos el mensaje de error<br />
que entregará si no se cumple la regla.<br />
• $options, lo utilizaremos para indicar los<br />
filtros para d<strong>es</strong>infectar los valor<strong>es</strong> ingr<strong>es</strong>ados<br />
(lo veremos más adelante) y también<br />
para indicar opcion<strong>es</strong> <strong>es</strong>pecial<strong>es</strong> que puedan<br />
requerir las distintas reglas (también<br />
lo veremos en un apartado posterior).<br />
En el siguiente bloque verás todas las reglas<br />
que incluiremos para los campos que hemos<br />
definido en nu<strong>es</strong>tro ejemplo (Listado 7).<br />
En la siguiente imagen podemos ver el<br />
formulario ant<strong>es</strong> de enviarlo y luego una vez<br />
enviado, pero con error<strong>es</strong> (Figura 5).<br />
Limpiando ant<strong>es</strong> de validar<br />
Es probable que en algunos casos el usuario pueda<br />
ingr<strong>es</strong>ar valor<strong>es</strong> que nec<strong>es</strong>iten ser limpiados ant<strong>es</strong><br />
de proc<strong>es</strong>arlos (por ejemplo, por error al teclear<br />
o para eliminar caracter<strong>es</strong> peligrosos). Para <strong>es</strong>tos<br />
casos php cuenta con filtros <strong>es</strong>pecial<strong>es</strong> que también<br />
pued<strong>es</strong> ocupar con Muuu. Su uso <strong>es</strong> muy<br />
simple, basta con que definas dentro de $options,<br />
del método addRule, un array con dos valor<strong>es</strong>:<br />
• filter_id: Para el ID del filtro que d<strong>es</strong>eas utilizar,<br />
según: http://www.php.net/manual/<strong>es</strong>/<br />
filter.filters.sanitize.php (primera columna).<br />
• filter_flag: Para definir algún flag para el<br />
filtro, según lo indicado en: http://www.php.<br />
net/manual/<strong>es</strong>/filter.filters.sanitize.php (cuarta<br />
columna).<br />
De <strong>es</strong>ta manera, al incluir un filtro, <strong>es</strong>te será<br />
aplicado ant<strong>es</strong> de que se ejecute la regla definida<br />
para el campo.<br />
Por ejemplo, cuando obtenemos datos d<strong>es</strong>de<br />
un formulario y los queremos usar en consultas<br />
en nu<strong>es</strong>tra base de datos, <strong>es</strong> recomendable primero<br />
<strong>es</strong>capar las comillas. Para hacer <strong>es</strong>to agregamos<br />
un filtro en nu<strong>es</strong>tras opcion<strong>es</strong>:<br />
$form->addRule("required","n<br />
ombre","El campo 'nombre' <strong>es</strong><br />
requerido",array("filter_id"=><br />
FILTER_SANITIZE_MAGIC_QUOTES));<br />
Listado 6. Agregamos campos select, radio y checkbox<br />
www.lpmagazine.org<br />
programación<br />
php – Muuu Forms<br />
// Incluímos un "select" para consultar sobre el tipo de usuario. Para los<br />
valor<strong>es</strong> del "select" agregamos un array dentro de "options"<br />
$form->addField("select","tipousuario","Tipo de Usuario:", array("selectVa<br />
lu<strong>es</strong>"=>array("basico"=>"Básico","intermedio"=>"Intermedio","avanzad<br />
o"=>"Avanzado")));<br />
// Mediante boton<strong>es</strong> del tipo "radio" consultaremos que tipo de booteo<br />
tiene nu<strong>es</strong>tro usuario. Al igual que ocurre con "select" definimos los<br />
distintos "radio" mediante un array.<br />
$form->addField("radio","booteo","Qué sistemas tien<strong>es</strong> en tu equipo:",<br />
array("radioValu<strong>es</strong>"=>array("sololinux"=>"Sólo Linux",\<br />
"linuxwindows"=>"Linux y Windows","solowindows"=><br />
"Sólo Windows")));<br />
// Mediante "checkbox" consultamos sobre qué distribucion<strong>es</strong> conoce<br />
o ha usado<br />
$form->addField("checkbox","conteo","Qué distros conoc<strong>es</strong> o has usado:<br />
",array("checkboxValu<strong>es</strong>"=>array("debian"=>"Debian","ubuntu"=><br />
"Ubuntu","fedora"=>"<strong>Fedora</strong>","otra"=>"Otra")));<br />
// Por último mediante un "textarea" consultamos si existe alguna<br />
información adicional que se d<strong>es</strong>ee agregar<br />
$form->addField("textarea","opinion","&iqu<strong>es</strong>t;<br />
Algo que quieras agregar:?");<br />
Listado 7. Definición de todas las reglas para los campos<br />
// Los campos "nombre", "apellido", "usuario" y "clave", los indicamos<br />
como requerido ("required"). En cada campo que tenga <strong>es</strong>ta regla se<br />
incluirá automáticamente un asterisco rojo<br />
$form->addRule("required","nombre","El campo 'nombre'<br />
no puede <strong>es</strong>tar vacío");<br />
$form->addRule("required","apellido","El campo 'apellido'<br />
no puede <strong>es</strong>tar vacío");<br />
$form->addRule("required","usuario","El campo 'usuario'<br />
no puede <strong>es</strong>tar vacío");<br />
$form->addRule("required","clave1","El campo 'clave 1'<br />
no puede <strong>es</strong>tar vacío");<br />
$form->addRule("required","clave2","El campo 'clave 2'<br />
no puede <strong>es</strong>tar vacío");<br />
// El campo que consulta la fecha de nacimiento lo filtraremos<br />
con la regla "date" la cual exige que el valor que se ingr<strong>es</strong>e<br />
sea una fecha válida<br />
$form->addRule("date","nacimiento","El campo 'Fecha de nacimiento' no<br />
tiene un formato correcto");<br />
// El campo email lo filtramos con la regla "email" para obtener un correo<br />
con formato válido<br />
$form->addRule("email","correo","El campo 'correo' no tiene un formato<br />
correcto");<br />
// Para el campo del nombre de usuario indicamos la regla "rangelength"<br />
para permitir solamente valor<strong>es</strong> entre 2 y 10 caracter<strong>es</strong><br />
$form->addRule("rangelength","usuario","El nombre de usuario no puede<br />
tener menos de 2 y más de 10 caracter<strong>es</strong>",array("minlength"=>2,\<br />
"maxlength"=>10));<br />
// Por último solicitamos que la clave y la verificación de <strong>es</strong>ta sean<br />
igual<strong>es</strong>, <strong>es</strong>to lo hacemos con la regla "equal"<br />
$form->addRule("equal","clave1","Las 'clav<strong>es</strong>' no son igual<strong>es</strong>",<br />
array("equalfield"=>"clave2"));<br />
87