<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Miguel Manchego &#187; formulario</title>
	<atom:link href="http://www.miguelmanchego.com/tag/formulario/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.miguelmanchego.com</link>
	<description>Desarrollador web freelancer php, css, ajax, cms..</description>
	<lastBuildDate>Wed, 04 Jan 2012 13:10:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>XHTML: registro al estilo facebook</title>
		<link>http://www.miguelmanchego.com/2010/xhtml-registro-al-estilo-facebook/</link>
		<comments>http://www.miguelmanchego.com/2010/xhtml-registro-al-estilo-facebook/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 16:17:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[formulario]]></category>

		<guid isPermaLink="false">http://www.miguelmanchego.com/?p=960</guid>
		<description><![CDATA[En este tutorial veremos como crear un formulario de registro al estilo Facebook paso por paso]]></description>
			<content:encoded><![CDATA[<!--INFOLINKS_ON--><p>Esta de moda el Facebook y claro también lo está hacer formularios, íconos, efectos a ese estilo. En este tutorial te explican detalladamente como crear tu propio formulario de registro a ese estilo usando XHTML y CSS.<br />
<br style="clear:both;"/></p>
<p>El resultado queda como esta imagen:<br />
<a href="http://www.miguelmanchego.com/wp-content/uploads/2010/08/form-facebook.jpg"><img src="http://www.miguelmanchego.com/wp-content/uploads/2010/08/form-facebook-300x230.jpg" alt="facebook formulario registro" title="form-facebook" width="300" height="230" class="aligncenter size-medium wp-image-961" /></a></p>
<p>Pueden el tutorial <a href="http://tutorialzine.com/2009/08/creating-a-facebook-like-registration-form-with-jquery/">AQUI</a> y la demo <a href="http://demo.tutorialzine.com/2009/08/creating-a-facebook-like-registration-form-with-jquery/">AQUI</a></p>
<div id="crp_related"><br/><h3>Posts Similares:</h3><ul><li><a href="http://www.miguelmanchego.com/2009/iconos-twitter-youtube-facebook-myspace-en-illustrator/" rel="bookmark" class="crp_title">Iconos Twitter, YouTube, Facebook, MySpace en Illustrator</a></li><li><a href="http://www.miguelmanchego.com/2010/jquery-chat-estilo-facebook-o-gmail/" rel="bookmark" class="crp_title">Jquery: Chat estilo Facebook o Gmail</a></li><li><a href="http://www.miguelmanchego.com/2009/aplicar-estilo-a-formularios-parte-2/" rel="bookmark" class="crp_title">Aplicar estilo a formularios parte 2</a></li><li><a href="http://www.miguelmanchego.com/2009/formato-formulario-css-hoja-estilo/" rel="bookmark" class="crp_title">Dar formato a formulario con CSS</a></li><li><a href="http://www.miguelmanchego.com/2009/vintage-afiche-photoshop-tutorial/" rel="bookmark" class="crp_title">Vintage Afiche Photoshop tutorial</a></li></ul></div><!--INFOLINKS_OFF-->]]></content:encoded>
			<wfw:commentRss>http://www.miguelmanchego.com/2010/xhtml-registro-al-estilo-facebook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jquery: Plugin para validar al estilo HTML5</title>
		<link>http://www.miguelmanchego.com/2010/jquery-plugin-para-validar-al-estilo-html5/</link>
		<comments>http://www.miguelmanchego.com/2010/jquery-plugin-para-validar-al-estilo-html5/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 16:56:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[formulario]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.miguelmanchego.com/?p=953</guid>
		<description><![CDATA[Plugin jquery para validar formularios al estilo HTML5 en browsers que no lo soportan como Firefox o Internet Explorer]]></description>
			<content:encoded><![CDATA[<!--INFOLINKS_ON--><p>Anteriormente había hablado de un <a href="http://www.miguelmanchego.com/2009/validar-formularios-ajax-jquery/">plugin de Bassistance</a> para validar, pero esta opción me parece muy interesante ya que usa las propiedades nativas de HTML5, aunque hay algunas caracteristicas que se hacen extrañar de las que hablaré más adelante.<br />
<br style="clear:both;"></p>
<h3>¿Cómo usarlo?</h3>
<p>Lo primero es incluir el script y luego indicar que formulario debe afectar, personalmente creo que mejor es colocar un id.</p>
<div class="codecolorer-container html4strict default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/script.html"><span style="color: #000000; font-weight: bold;">script</span></a>&gt;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; $(document).ready(function(){<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $('#miformulario').html5form(); // recibe un id, una clase o la etiqueta form &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; });<br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/script.html"><span style="color: #000000; font-weight: bold;">script</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>La forma de realizar la validación es usando las propiedades HTML5, es decir algo similar a:</p>
<div class="codecolorer-container html4strict default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp;<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/input.html"><span style="color: #000000; font-weight: bold;">input</span></a> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;email&quot;</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;email&quot;</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;email&quot;</span><span style="color: #66cc66;">/</span>&gt;</span></div></td></tr></tbody></table></div>
<h3>¿Por qué usarlo?</h3>
<p>Hay varios motivos:</p>
<ul>
<li>Nos vamos acostumbrando a la sintaxis de HTML5</li>
<li>Incluye ciertas validaciones que no tiene el plugin de bassistance además de funciones tipo texto por defecto </li>
<li>El envío asíncrono de datos viene incluido</li>
</ul>
<h3>Puntos por pulir</h3>
<ul>
<li>Cuando se pega del portapapeles un texto a un textarea con un número máximo de caracteres este no se corta para validarlo</li>
<li>Los mensajes de error no son personalizables, aunque incluye por defecto mensajes en español e inglés modificables directamente sobre el código del script</li>
</ul>
<p>Puedes ver más sobre este plugin <a href="http://www.matiasmancini.com.ar/html5form.php" target="_blank">AQUI</a>, yo tuve problemas para acceder a dicha dirección, si no funciona en tu país usa un proxy anónimo como por ejemplo www.hidemyass.com</p>
<div id="crp_related"><br/><h3>Posts Similares:</h3><ul><li><a href="http://www.miguelmanchego.com/2009/validar-formularios-ajax-jquery/" rel="bookmark" class="crp_title">Validar formularios ajax jquery</a></li><li><a href="http://www.miguelmanchego.com/2010/validar-formularios-en-web-modular/" rel="bookmark" class="crp_title">Validar formularios en web modular</a></li><li><a href="http://www.miguelmanchego.com/2010/wordpress-y-html5-theme/" rel="bookmark" class="crp_title">WordPress y HTML5</a></li><li><a href="http://www.miguelmanchego.com/2009/evitar-spam-en-wordpress/" rel="bookmark" class="crp_title">Evitar spam en WordPress</a></li><li><a href="http://www.miguelmanchego.com/2010/jquery-subir-archivos-usando-ajax/" rel="bookmark" class="crp_title">Jquery: Subir archivos usando AJAX</a></li></ul></div><!--INFOLINKS_OFF-->]]></content:encoded>
			<wfw:commentRss>http://www.miguelmanchego.com/2010/jquery-plugin-para-validar-al-estilo-html5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creando grupos de opciones con combos html</title>
		<link>http://www.miguelmanchego.com/2010/creando-grupos-de-opciones-con-combos-html/</link>
		<comments>http://www.miguelmanchego.com/2010/creando-grupos-de-opciones-con-combos-html/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 00:59:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[html]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[formulario]]></category>

		<guid isPermaLink="false">http://www.miguelmanchego.com/?p=770</guid>
		<description><![CDATA[Tutorial para dividir nuestro combobox en grupos para mostrar categorias y subcategorias por ejemplo ya aplicándole estilos.]]></description>
			<content:encoded><![CDATA[<!--INFOLINKS_ON--><p>En este post voy a hablar de un tema muy básico nada de ajax ni trucos extraños pero aunque es una función muy simple rara vez se usa pese a lo tremendamente util que es en los comboBox, supongamos que tengo varias categorias y subcategorias y me gustaría que los usuarios puedan elegir sólo la subcategoría(se supone que en la base de datos la subcategoria tiene un parent asi que no requerimos el id de la categoria) pero además que mantenga un orden el combo para que el usuario sepa que categoria va a que subcategoría y obtener algo como lo de la imagen.<br />
<a href="http://www.miguelmanchego.com/wp-content/uploads/2010/03/combo-optgroup.png"><img src="http://www.miguelmanchego.com/wp-content/uploads/2010/03/combo-optgroup.png" alt="combo optgroup" title="combo-optgroup" width="113" height="210" class="aligncenter size-full wp-image-771" /></a></p>
<p>El código es muy sencillo, basta usar la etiqueta optgroup en nuestra categoría y etiquetas select para nuestras subcategorias</p>
<div class="codecolorer-container html4strict default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/select.html"><span style="color: #000000; font-weight: bold;">select</span></a> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;categorias&quot;</span>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/optgroup.html"><span style="color: #000000; font-weight: bold;">optgroup</span></a> <span style="color: #000066;">label</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;fruta&quot;</span>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/option.html"><span style="color: #000000; font-weight: bold;">option</span></a> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;1&quot;</span>&gt;</span>naranja<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/option.html"><span style="color: #000000; font-weight: bold;">option</span></a>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/option.html"><span style="color: #000000; font-weight: bold;">option</span></a> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;2&quot;</span>&gt;</span>fresas<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/option.html"><span style="color: #000000; font-weight: bold;">option</span></a>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/option.html"><span style="color: #000000; font-weight: bold;">option</span></a> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;3&quot;</span>&gt;</span>peras<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/option.html"><span style="color: #000000; font-weight: bold;">option</span></a>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/optgroup.html"><span style="color: #000000; font-weight: bold;">optgroup</span></a>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/optgroup.html"><span style="color: #000000; font-weight: bold;">optgroup</span></a> <span style="color: #000066;">label</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;verduras&quot;</span>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/option.html"><span style="color: #000000; font-weight: bold;">option</span></a> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;1&quot;</span>&gt;</span>zapallo<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/option.html"><span style="color: #000000; font-weight: bold;">option</span></a>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/option.html"><span style="color: #000000; font-weight: bold;">option</span></a> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;2&quot;</span>&gt;</span>habas<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/option.html"><span style="color: #000000; font-weight: bold;">option</span></a>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/optgroup.html"><span style="color: #000000; font-weight: bold;">optgroup</span></a>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/optgroup.html"><span style="color: #000000; font-weight: bold;">optgroup</span></a> <span style="color: #000066;">label</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;carnes&quot;</span>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/option.html"><span style="color: #000000; font-weight: bold;">option</span></a> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;1&quot;</span>&gt;</span>pollo<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/option.html"><span style="color: #000000; font-weight: bold;">option</span></a>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/option.html"><span style="color: #000000; font-weight: bold;">option</span></a> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;2&quot;</span>&gt;</span>pescado<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/option.html"><span style="color: #000000; font-weight: bold;">option</span></a>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/option.html"><span style="color: #000000; font-weight: bold;">option</span></a> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;3&quot;</span>&gt;</span>cerdo<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/option.html"><span style="color: #000000; font-weight: bold;">option</span></a>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/optgroup.html"><span style="color: #000000; font-weight: bold;">optgroup</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/select.html"><span style="color: #000000; font-weight: bold;">select</span></a>&gt;</span></div></td></tr></tbody></table></div>
<p>Hasta ahi muy bien, pero podemos darle algo de estilo a nuestro combo para que quede así:<br />
<a href="http://www.miguelmanchego.com/wp-content/uploads/2010/03/combo-optgroup2.png"><img src="http://www.miguelmanchego.com/wp-content/uploads/2010/03/combo-optgroup2.png" alt="combo optgroup" title="combo-optgroup2" width="111" height="208" class="aligncenter size-full wp-image-773" /></a><br />
Para eso aplicamos los siguientes estilos:</p>
<div class="codecolorer-container css default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">select <span style="color: #00AA00;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span><span style="color: #933;">1px</span> <span style="color: #993333;">solid</span> <span style="color: #cc00cc;">#999</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#000</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#FFF</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
optgroup <span style="color: #00AA00;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#900</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#FFF</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">background-image</span><span style="color: #00AA00;">:</span><span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000; font-style: italic;">flecha.png</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">background-repeat</span><span style="color: #00AA00;">:</span><span style="color: #993333;">no-repeat</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">background-position</span><span style="color: #00AA00;">:</span><span style="color: #000000; font-weight: bold;">right</span> <span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
option <span style="color: #00AA00;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#000</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p>Lo mejor de todo es que funciona hasta en IE6 excepto colocar una imagen como fondo del optgroup pero creo que es un detalle pequeño que podemos obviar.</p>
<div id="crp_related"><br/><h3>Posts Similares:</h3><ul><li><a href="http://www.miguelmanchego.com/2009/combos-dependientes-ajax-jquery/" rel="bookmark" class="crp_title">Combos dependientes AJAX</a></li><li><a href="http://www.miguelmanchego.com/2010/paypal-productos-con-atributos/" rel="bookmark" class="crp_title">Paypal: Productos con atributos</a></li><li><a href="http://www.miguelmanchego.com/2010/paypal-un-producto-con-distintos-precios/" rel="bookmark" class="crp_title">Paypal: un producto con distintos precios</a></li><li><a href="http://www.miguelmanchego.com/2009/combos-dependientes-ajax-base-de-datos/" rel="bookmark" class="crp_title">Combos dependientes AJAX base de datos</a></li><li><a href="http://www.miguelmanchego.com/2009/aplicar-estilo-a-formularios-parte-2/" rel="bookmark" class="crp_title">Aplicar estilo a formularios parte 2</a></li></ul></div><!--INFOLINKS_OFF-->]]></content:encoded>
			<wfw:commentRss>http://www.miguelmanchego.com/2010/creando-grupos-de-opciones-con-combos-html/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Seguridad, ataques y spam en la web</title>
		<link>http://www.miguelmanchego.com/2010/seguridad-ataques-y-spam-en-la-web-prevenir-php/</link>
		<comments>http://www.miguelmanchego.com/2010/seguridad-ataques-y-spam-en-la-web-prevenir-php/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 02:13:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[formulario]]></category>
		<category><![CDATA[seguridad]]></category>

		<guid isPermaLink="false">http://www.miguelmanchego.com/?p=763</guid>
		<description><![CDATA[Es muy común ser bombardeado por toneladas de spam y códigos maliciosos veamos como evitarlos usando sencillos scripts PHP]]></description>
			<content:encoded><![CDATA[<!--INFOLINKS_ON--><p>Desde que empecé a postear en mi blog he sufrido múltiples ataques afortundamente he podido repelerlos todos gracias a una serie de plugins para WordPress sin embargo estas mismas funciones es posible incluirlas en nuestros scripts, veamos algunas formas:<br />
<br style="clear:both;"></p>
<h2>No permitir HTML</h2>
<p>Nada más molesto que ser bombardeado por cientos de mensajes llenos de código basura, con links para comprar viagra (creo que no lo necesito), ofertas de mil cosas he incluso mensajes en árabe que llenan de links y código malicioso en los peores casos añaden javascript que invocan banners de propaganda o intentan descargarla algún troyano a nuestros visitantes lo mejor para prevenirlos es no permitir el uso de código HTML para eso podemos usar una muy útil función de PHP que es strip_tags y se usa de la siguiente forma:</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">//// Para eliminar todo rastro de html seria</span><br />
<span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'&lt;p&gt;mi codigo html&lt;/p&gt;&lt;a href=&quot;#fragment&quot;&gt;Other text&lt;/a&gt;'</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">echo</span> <a href="http://www.php.net/strip_tags"><span style="color: #990000;">strip_tags</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$text</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #666666; font-style: italic;">//// Para permitir el uso solo de &lt;p&gt; y &lt;b&gt;</span><br />
<span style="color: #b1b100;">echo</span> <a href="http://www.php.net/strip_tags"><span style="color: #990000;">strip_tags</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$text</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'&lt;p&gt;&lt;b&gt;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p>Existen formas más elaborados usando PHP purifier por ejemplo pero por lo general no requerimos un script tan pesado y con strip_tags basta.</p>
<h2>Usar un código de seguridad</h2>
<p>Más conocido como captcha podemos colocar nuestra letras como si fueran un gráfico un poco distorcionado y así prevenir que robots posteen, hay algunos detalles que debemos tomar en cuenta primero que el código se debe verificar al momento de enviar el formulario y al recibir los datos ya que los robots suelen no usar el formulario y saltarse toda validación javascript, hay muchas opciones de captcha basta buscar en google pero siempre tomando en cuenta que el código sea lo suficientemente comprensible para un humano.</p>
<h2>Bloquear IP</h2>
<p>Esta es una de las formas más radicales de prevenir spam ya que los robots suelen venir de algunos ip que no varían al bloquearlos se disminuye el spam pero cuidado porque podriamos estar bloqueando a todo un grupo de usuarios que estén bajo un mismo IP público.<br />
Para esto en PHP verificamos el IP de nuestro visitante</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #000088;">$ip</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REMOTE_ADDR'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<span style="color: #666666; font-style: italic;">//// Hacemos un array de ips baneadas</span><br />
<span style="color: #000088;">$ips_baneadas</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/array"><span style="color: #990000;">array</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'10.0.0.1'</span><span style="color: #339933;">,</span>’192<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>0<span style="color: #339933;">.</span>1’<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> &nbsp; <br />
<span style="color: #000088;">$contador</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/count"><span style="color: #990000;">count</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ips_baneadas</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> &nbsp;<br />
<span style="color: #666666; font-style: italic;">//// Verificamos si el visitante esta baneado</span><br />
<span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">&lt;</span><span style="color: #000088;">$contador</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> &nbsp; <br />
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ip</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$ips_baneadas</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <a href="http://www.php.net/die"><span style="color: #990000;">die</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Lo sentimos, estas baneado . <span style="color: #006699; font-weight: bold;">$ip</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span> <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span> &nbsp;<br />
?&gt;</div></td></tr></tbody></table></div>
<p>Y bueno esas son las formas más usuales de prevenir spam aunque les aseguro que no son 100% seguras digamos que son un 99% seguras combinadas asi que siempre quedará algo que debamos borrar manualmente por lo que no esta demás poner alguna opción que diga &#8220;denunciar&#8221; para eliminar algún comentario malicioso.</p>
<div id="crp_related"><br/><h3>Posts Similares:</h3><ul><li><a href="http://www.miguelmanchego.com/2008/eliminar-html-con-php/" rel="bookmark" class="crp_title">Eliminar HTML con PHP</a></li><li><a href="http://www.miguelmanchego.com/2009/evitar-spam-en-wordpress/" rel="bookmark" class="crp_title">Evitar spam en WordPress</a></li><li><a href="http://www.miguelmanchego.com/2009/seo-que-no-debemos-hacer/" rel="bookmark" class="crp_title">SEO que NO debemos hacer</a></li><li><a href="http://www.miguelmanchego.com/2009/agregar-campos-usando-ajax-jquery/" rel="bookmark" class="crp_title">Agregar campos usando AJAX jquery</a></li><li><a href="http://www.miguelmanchego.com/2010/validar-formularios-en-web-modular/" rel="bookmark" class="crp_title">Validar formularios en web modular</a></li></ul></div><!--INFOLINKS_OFF-->]]></content:encoded>
			<wfw:commentRss>http://www.miguelmanchego.com/2010/seguridad-ataques-y-spam-en-la-web-prevenir-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Elementos de interfaz(UI) para web</title>
		<link>http://www.miguelmanchego.com/2010/elementos-de-interfaz-ui-para-web/</link>
		<comments>http://www.miguelmanchego.com/2010/elementos-de-interfaz-ui-para-web/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 14:48:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Diseño]]></category>
		<category><![CDATA[formulario]]></category>
		<category><![CDATA[ilustracion]]></category>
		<category><![CDATA[web UI]]></category>

		<guid isPermaLink="false">http://www.miguelmanchego.com/?p=746</guid>
		<description><![CDATA[Una colección de elementos de interfaz para tu página web(botones, barras, avisos...) totalmente gratis, ideal para paginas ajax. Descargala aqui]]></description>
			<content:encoded><![CDATA[<!--INFOLINKS_ON--><p>Siempre ando buscando recursos para web y me encontré con esta interesante colección de elementos de interfaz totalmente gratis lista para usar en algún proyectos con ajax. Incluye botones, avisos, barras de desplazamientos, menus, combos, etc.</p>
<p><a href="http://www.miguelmanchego.com/wp-content/uploads/2010/02/web-ui-set-preview1.jpg"><img src="http://www.miguelmanchego.com/wp-content/uploads/2010/02/web-ui-set-preview1-300x195.jpg" alt="Web UI set" title="web-ui-set-preview1" width="300" height="195" class="aligncenter size-medium wp-image-747" /></a></p>
<p>Pueden <a href="http://medialoot.com/blog/freebie-massive-web-ui-button-set/" target="_blank">bajarla AQUI</a></p>
<p>Ni bien publiqué este post me encontré con otras opciones muy interesantes que incluyen no sólo botones, también cursores e incluso elementos de interfaz,  pueden verlo <a href="http://www.cssblog.es/recursos-gratuitos-para-el-diseno-de-la-interfaz-de-usuario/" target="_blank">AQUI</a></p>
<div id="crp_related"><br/><h3>Posts Similares:</h3><ul><li><a href="http://www.miguelmanchego.com/2010/formularios-encuestas-subscripcion/" rel="bookmark" class="crp_title">Photoshop: Formularios de subscripcion y encuestas</a></li><li><a href="http://www.miguelmanchego.com/2009/pixlr-edita-tus-fotos-online/" rel="bookmark" class="crp_title">Pixlr edita tus fotos online</a></li><li><a href="http://www.miguelmanchego.com/2010/descarga-download-iconos-azules-gratis/" rel="bookmark" class="crp_title">Descargar Iconos Azules Gratuitos</a></li><li><a href="http://www.miguelmanchego.com/2010/descarga-gratis-iconos-para-desarrolladores/" rel="bookmark" class="crp_title">Descarga gratis íconos para desarrolladores</a></li><li><a href="http://www.miguelmanchego.com/2009/iconos-twitter-youtube-facebook-myspace-en-illustrator/" rel="bookmark" class="crp_title">Iconos Twitter, YouTube, Facebook, MySpace en Illustrator</a></li></ul></div><!--INFOLINKS_OFF-->]]></content:encoded>
			<wfw:commentRss>http://www.miguelmanchego.com/2010/elementos-de-interfaz-ui-para-web/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

