<?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>PHPBlog.it &#187; filtering</title>
	<atom:link href="http://phpblog.it/tag/filtering/feed/" rel="self" type="application/rss+xml" />
	<link>http://phpblog.it</link>
	<description>Solo un altro blog targato WordPress</description>
	<lastBuildDate>Mon, 21 May 2012 21:45:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>40 indizi per definirti uno scarso programmatore PHP</title>
		<link>http://phpblog.it/2008/02/14/40-indizi-per-definirti-uno-scarso-programmatore-php/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=40-indizi-per-definirti-uno-scarso-programmatore-php</link>
		<comments>http://phpblog.it/2008/02/14/40-indizi-per-definirti-uno-scarso-programmatore-php/#comments</comments>
		<pubDate>Thu, 14 Feb 2008 06:00:58 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[dalla rete]]></category>
		<category><![CDATA[40 regole]]></category>
		<category><![CDATA[filtering]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[progettazione]]></category>

		<guid isPermaLink="false">http://php5blog.it/2008/02/14/40-indizi-per-definirti-uno-scarso-programmatore-php/</guid>
		<description><![CDATA[Leggo un&#8217;interessante lista di indizi dal blog di Reinhold Weber che secondo lui bastano a definire davvero scarso (schifoso sarebbe la traduzione esatta) un programmatore PHP. Si tratta di 40 &#8220;regole&#8221; di buona programmazione e progettazione che ci invitano a riflettere sul proprio modo di agire e sperano di scatenare qualche buon proposito per migliorarsi. [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://phpblog.it/2008/02/14/40-indizi-per-definirti-uno-scarso-programmatore-php/' addthis:title='40 indizi per definirti uno scarso programmatore PHP '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<p><img src="http://172.18.0.13/wordpress/wp-content/uploads/2008/02/helpcoder.jpg" alt="Help coder" /></p>
<p>Leggo un&#8217;interessante <a href="http://reinholdweber.com/?p=19" title="lista di indizi dal blog di Reinhold Weber">lista di indizi dal blog di Reinhold Weber</a> che secondo lui bastano a <strong>definire davvero scarso (schifoso sarebbe la traduzione esatta) un programmatore PHP</strong>. Si tratta di <strong>40 &#8220;regole&#8221;</strong> di buona programmazione e progettazione che ci invitano a riflettere sul proprio modo di agire e sperano di scatenare qualche buon proposito per migliorarsi.</p>
<p><span id="more-24"></span>Su alcuni concordo più che su altri:</p>
<ul>
<li>non commenti il codice con qualcosa tipo <a href="http://www.phpdoc.org/" title="phpDoc">phpDoc</a>, io aggiungo non commenti il codice e basta</li>
<li>non esegui l&#8217;escaping e la validazione di input e delle query sql (di cui abbiamo parlato)</li>
<li>non pianifichi, progetti la tua applicazione in modo dettagliato prima di cominciare a scrivere codice</li>
<li>non tieni separati i diversi layer utilizzando qualcosa basato su <a href="http://en.wikipedia.org/wiki/Model-view-controller" title="MVC">MVC</a> (model-view-control)</li>
<li>non ha mai sentito parlare di sql injection or cross-site scripting (<a href="http://en.wikipedia.org/wiki/Cross-site_scripting" title="Xss">Xss</a>)</li>
<li>non usi un abstraction layer per interagire con i database</li>
<li>&#8230;</li>
</ul>
<p>E voi cosa ne pensate? Lasciate pure la vostra opinione nei commenti qui sotto.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://phpblog.it/2008/02/14/40-indizi-per-definirti-uno-scarso-programmatore-php/' addthis:title='40 indizi per definirti uno scarso programmatore PHP '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://phpblog.it/2008/02/14/40-indizi-per-definirti-uno-scarso-programmatore-php/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Inspekt, la libreria firewall</title>
		<link>http://phpblog.it/2008/02/07/inspekt-libreria-di-filtering-e-validazione-per-php/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=inspekt-libreria-di-filtering-e-validazione-per-php</link>
		<comments>http://phpblog.it/2008/02/07/inspekt-libreria-di-filtering-e-validazione-per-php/#comments</comments>
		<pubDate>Thu, 07 Feb 2008 06:00:49 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[sicurezza]]></category>
		<category><![CDATA[filtering]]></category>
		<category><![CDATA[inspekt]]></category>
		<category><![CDATA[validation]]></category>

		<guid isPermaLink="false">http://php5blog.it/2008/02/07/inspekt-libreria-di-filtering-e-validazione-per-php/</guid>
		<description><![CDATA[Inspekt è una libreria per PHP (4 e 5) promossa dal Open Web Application Security Project (OWASP) in occasione del Spring of Code 2007 e realizzata da Ed Finkler sulla base di quello che era Zend_Filter_Input (ex componente del framework Zend). Lo stesso Ed afferma che dai dati di NIST NVD relativi al 2006 risulta [...]<div class="addthis_toolbox addthis_default_style " addthis:url='http://phpblog.it/2008/02/07/inspekt-libreria-di-filtering-e-validazione-per-php/' addthis:title='Inspekt, la libreria firewall '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/p/inspekt/" title="Inspekt"><img src="http://172.18.0.13/wordpress/wp-content/uploads/2008/02/inspekt.jpg" alt="Inspekt" /><strong>Inspekt</strong></a> è una libreria per PHP (4 e 5) promossa dal <a href="http://www.owasp.org/index.php/Main_Page" title="OWASP"><strong>Open Web Application Security Project</strong></a> (OWASP) in occasione del <strong><a href="http://www.owasp.org/index.php/OWASP_Spring_Of_Code_2007" rel="nofollow">Spring of Code 2007</a> </strong>e realizzata da <strong> Ed Finkler</strong> sulla base di quello che era Zend_Filter_Input (ex componente del framework Zend). Lo stesso Ed afferma che dai dati di <a href="http://nvd.nist.gov/" title="NIST NVD">NIST NVD</a> relativi al 2006 risulta che <strong>oltre il 40% di tutte le vulnerabilità riportate riguardano PHP</strong>, ma non il linguaggio in sè bensì le applicazioni sviluppate con esso e quindi il codice realizzato. E&#8217; quindi necessario seguire nuovi paradigmi che impongano in un certo qual modo l&#8217;applicazione di <strong>tecniche di filtering e validation</strong> necessarie a garantire il corretto funzionamento delle applicazioni.</p>
<p><span id="more-208"></span></p>
<p>Inspekt si piazza come <strong>una specie di firewall tra l&#8217;input dell&#8217;utente e l&#8217;applicazione vera e propria</strong>. La libreria si preoccupa di prendere gli array superglobali ($_GET e $POST), esegue l&#8217;incapsulamento dei dati contenuti in un oggetto definito &#8220;cage&#8221; (letteralmente &#8220;gabbia&#8221;)  e distrugge gli array superglobali. L&#8217;accesso ai dati è garantito da una <strong>vasta serie di metodi che si occupano già del filtering e da altri che permettono la validazione dei dati</strong> stessi. L&#8217;accesso ai dati originali (raw) può essere fatto solamente tramite il metodo &#8216;getRaw()&#8217; che obbliga quindi lo sviluppatore ad aver ben sotto controllo la situazione e quello che sta facendo.<br />
Dalla <strong><a href="http://funkatron.com/inspekt/user_docs/" title="documentazione di Inspekt">documentazione di Inspekt</a></strong> è facile capire quanto sia semplice da utilizzare e quali siano le sue potenzialità nel rendere anche più semplice e leggibile il codice piuttosto che avere tutti i controlli e la validazione direttamente nell&#8217;action dei form. <strong>Consiglio di dare un&#8217;occhiata agli esempi contenuti nell&#8217;archivio</strong> che scaricate assieme alla libreria, permettono di vedere in azione Inspekt e di lavorare direttamente su codice già pronto per eseguire i propri test e fugare i propri dubbi.</p>
<div class="addthis_toolbox addthis_default_style " addthis:url='http://phpblog.it/2008/02/07/inspekt-libreria-di-filtering-e-validazione-per-php/' addthis:title='Inspekt, la libreria firewall '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div>]]></content:encoded>
			<wfw:commentRss>http://phpblog.it/2008/02/07/inspekt-libreria-di-filtering-e-validazione-per-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

