<?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>Sergi Quiñonero &#187; php</title>
	<atom:link href="http://www.sergiquinonero.net/tag/php/feed" rel="self" type="application/rss+xml" />
	<link>http://www.sergiquinonero.net</link>
	<description>Sergi Quiñonero Blog Page</description>
	<lastBuildDate>Fri, 25 Mar 2011 20:04:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Acceder a un array de manera más limpia en PHP</title>
		<link>http://www.sergiquinonero.net/acceder-a-un-array-de-manera-mas-limpia-en-php.html</link>
		<comments>http://www.sergiquinonero.net/acceder-a-un-array-de-manera-mas-limpia-en-php.html#comments</comments>
		<pubDate>Thu, 28 Aug 2008 15:57:37 +0000</pubDate>
		<dc:creator>Sergi</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[array]]></category>
		<category><![CDATA[objeto]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.sergiquinonero.net/?p=45</guid>
		<description><![CDATA[Navegando un poquito por php.net he encontrado una manera curiosa de acceder al valor de un array asociativo.
La cuestión está en transformar el array, con una sola línea, en un objeto. De esta manera, el acceso a un valor del array es similar al acceso a una propiedad de objeto.
$persona = array(
'nombre' =&#62; 'Sergi',
'apellidos' =&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>Navegando un poquito por <a rel="nofollow" href="http://www.php.net" target="_blank">php.net</a> he encontrado una manera curiosa de acceder al valor de un array asociativo.</p>
<p>La cuestión está en transformar el array, con una sola línea, en un objeto. De esta manera, el acceso a un valor del array es similar al acceso a una propiedad de objeto.<span id="more-45"></span></p>
<pre>$persona = array(
'nombre' =&gt; 'Sergi',
'apellidos' =&gt; 'Quiñonero Gasent',
'web' =&gt; 'www.sergiquinonero.net'
);
$persona = (object) $persona; #En esta línea está la solución
echo $persona-&gt;nombre . " " . $persona-&gt;apellidos;</pre>
<p>El causante es el modificador explicito (object). Éste transforma nuestro array en un objeto. ¿Una forma limpia de acceder? o de lo contrario ¿Una chapuza que solo hace más ilegible el código?</p>
<!-- AdSense Now! V1.83 -->
<!-- Post[count: 2] -->
<div class="adsense adsense-leadout" style="float:left;margin: 12px;"><script type="text/javascript"><!--
google_ad_client = "pub-3509193416949473";
/* Sergiquinonero.net */
google_ad_slot = "0327514928";
google_ad_width = 234;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>]]></content:encoded>
			<wfw:commentRss>http://www.sergiquinonero.net/acceder-a-un-array-de-manera-mas-limpia-en-php.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Cómo ofuscar código PHP</title>
		<link>http://www.sergiquinonero.net/como-ofuscar-codigo-php.html</link>
		<comments>http://www.sergiquinonero.net/como-ofuscar-codigo-php.html#comments</comments>
		<pubDate>Mon, 18 Aug 2008 12:55:00 +0000</pubDate>
		<dc:creator>Sergi</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[código]]></category>
		<category><![CDATA[ofuscar]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.sergiquinonero.net/?p=43</guid>
		<description><![CDATA[Muchos programadores trabajan con códigos desarrollados para un tipo de cliente específico. La estructura del código les permite generar, con unas pequeñas modificaciones, aplicaciones específicas para un determinado cliente. A raíz de esto, surge un &#8220;pequeño&#8221; problema, la propiedad intelectual.
Cuando el desarrollador sustenta su economía a través de la venta de sus productos -diseñados por [...]]]></description>
			<content:encoded><![CDATA[<p>Muchos programadores trabajan con códigos desarrollados para un tipo de cliente específico. La estructura del código les permite generar, con unas pequeñas modificaciones, aplicaciones específicas para un determinado cliente. A raíz de esto, surge un &#8220;pequeño&#8221; problema, la propiedad intelectual.</p>
<p>Cuando el desarrollador sustenta su economía a través de la venta de sus productos -diseñados por él o por su empresa-, el que el cliente disponga del código y pueda ofrecerlo a terceros puede ocasionar, entre otras, un aumento del precio final del producto, para evitar los denominados daños colaterales.<span id="more-43"></span></p>
<p>¿Cómo evitar éste talón de Aquiles? la respuesta está en <strong><span style="color: #800000;">ofuscar</span> </strong>el <span style="color: #800000;"><strong>código PHP</strong></span>. A través de la <span style="color: #800000;"><strong>ofuscación</strong></span> del <span style="color: #800000;"><strong>código PHP</strong></span>, el cliente podrá disponer siempre de la aplicación a un precio inferior (comparándolo al precio de venta de la aplicación más <span style="color: #800000;"><strong>código fuente</strong></span>) y el desarrollador estará libre de sus más temibles pesadillas.</p>
<p>En el mercado existen varias alternativas para <span style="color: #800000;"><strong>ofuscar código PHP</strong></span>. Una de ellas, y la que más me convence, viene de la mano de ZEND, <a rel="nofollow" href="http://www.zend.com/en/products/guard/" target="_blank">ZEND GUARD</a>.</p>
<p><span style="color: #800000;"><strong>Zend Guard</strong></span> es una herramienta de escritorio (de pago) que protege las aplicaciones de la ingeniería inversa y no autorizada mediante el suministro de codificación y ofuscación. Asímismo, protege de uso sin licencia y de la redistribución, tan temida por desarrolladores. Junto al motor <a rel="nofollow" href="http://www.zend.com/en/products/guard/optimizer/" target="_blank">ZEND OPTIMIZER</a> (gratuito), se transforma en el aliado perfecto.</p>
<p>En Internet existen otras aplicaciones on-line que <span style="color: #800000;"><strong>ofuscan el código PHP</strong></span>. Puedes encontrar un ejemplo en la Web de <a rel="nofollow" href="http://jcarlosrendon.morelosplaza.com/herramientas/ofuscador.php" target="_blank">jcarlosrendon</a> o en la de <a rel="nofollow" href="http://www.stunnix.com/" target="_blank">Stunnix</a>.</p>
<p>Estos últimos quizá sirvan solo para un par de ficheros, dado que hay que ir haciendo &#8220;copiar y pegar&#8221; y, para un sistema formado por decenas de ficheros, pueda ser un poco engorroso.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sergiquinonero.net/como-ofuscar-codigo-php.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cómo ofuscar el directorio de un fichero mediante PHP</title>
		<link>http://www.sergiquinonero.net/como-ofuscar-el-directorio-de-un-fichero-mediante-php.html</link>
		<comments>http://www.sergiquinonero.net/como-ofuscar-el-directorio-de-un-fichero-mediante-php.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 09:01:55 +0000</pubDate>
		<dc:creator>Sergi</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[fichero]]></category>
		<category><![CDATA[ofuscar]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[ruta]]></category>

		<guid isPermaLink="false">http://www.sergiquinonero.net/?p=17</guid>
		<description><![CDATA[A veces, nos surge la necesidad de poner ficheros en nuestro servidor para ser descargados vía Web. El problema puede surgir cuando tenemos la necesidad de ofuscar (Ocultar ruta de las descargas exteriores) la ruta del fichero para que nadie pueda acceder a él desde una vía diferente a la &#8220;permitida&#8221; por el programador y [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sergiquinonero.net/wp-content/uploads/2008/06/php.gif"><img class="alignleft alignnone size-medium wp-image-18" style="border: 0pt none; margin: 10px; float: left;" title="Logo PHP" src="http://www.sergiquinonero.net/wp-content/uploads/2008/06/php.gif" alt="Logo PHP" width="120" height="67" /></a>A veces, nos surge la necesidad de poner ficheros en nuestro servidor para ser descargados vía Web. El problema puede surgir cuando tenemos la necesidad de <span style="color: #800000;"><strong>ofuscar (</strong></span><span style="color: #800000;"><strong>Ocultar ruta de las descargas exteriores</strong></span><span style="color: #800000;"><strong>) la ruta del fichero</strong></span> para que nadie pueda acceder a él desde una vía diferente a la &#8220;permitida&#8221; por el programador y que nadie pueda publicar el enlace directo desde su propio portal.</p>
<p>Como he recibido varios e-mails de compañeros programadores pidiéndome consejo de cómo poder <span style="color: #800000;"><strong>ofuscar el directorio de un fichero mediante PHP</strong></span> (ocultar ruta), dejo aquí una de las varias formas.</p>
<p><span id="more-17"></span></p>
<p>&lt;?php</p>
<p>/**<br />
* Manejador de ficheros<br />
*<br />
* Permite ofuscar la ruta y fichero para su descarga vía PHP<br />
*<br />
* @package COMMON<br />
* @category Algorithm<br />
* @author Sergi Quiñonero Gasent &lt;cuentame arroba sergiquinonero punto net&gt;<br />
* @author sergiquinonero.net<br />
* @copyright GPLv3<br />
* @version CVS: $Id: Exp $<br />
*<br />
*/</p>
<p>if ($bTienePermiso){ /* Valor Booleano que indica si puede o no descargar el fichero */</p>
<p style="padding-left: 30px;">$filename = &#8220;nas.rar&#8221;; /* Ruta y nombre del fichero */</p>
<p style="padding-left: 30px;">/* NO TOCAR */<br />
$size = filesize($filename);<br />
header(&#8220;Pragma: no-cache&#8221;);<br />
header(&#8220;Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0&#8243;);<br />
header(&#8220;Expires: 0&#8243;);<br />
header(&#8220;Content-Transfer-Encoding: binary&#8221;);<br />
header(&#8220;Content-type: application/force-download&#8221;);<br />
header(&#8220;Content-Disposition: attachment; filename=$filename&#8221;);<br />
header(&#8220;Content-Length: $size&#8221;);<br />
readfile(&#8220;$filename&#8221;);</p>
<p style="padding-left: 30px;">/* NO TOCAR */</p>
<p>}</p>
<p>?&gt;</p>
<p>Espero que haya sido de utilidad</p>
<p>[<strong>Como ocultar la ruta de un archivo en la barra de url</strong>]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sergiquinonero.net/como-ofuscar-el-directorio-de-un-fichero-mediante-php.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

