<?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>nocategory &#8211; davidonzo&#039;s blog</title>
	<atom:link href="https://www.davidonzo.com/category/nocategory/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.davidonzo.com</link>
	<description>devi apparire ridicolo se vuoi essere preso sul serio</description>
	<lastBuildDate>Fri, 01 Dec 2017 15:48:43 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.4.2</generator>
	<item>
		<title>MISP: new misp_taxii_hook for MISP-TAXII-Server</title>
		<link>https://www.davidonzo.com/2017/12/01/misp-new-misp_taxii_hook-for-misp-taxii-server/</link>
					<comments>https://www.davidonzo.com/2017/12/01/misp-new-misp_taxii_hook-for-misp-taxii-server/#respond</comments>
		
		<dc:creator><![CDATA[davidonzo]]></dc:creator>
		<pubDate>Fri, 01 Dec 2017 15:48:43 +0000</pubDate>
				<category><![CDATA[nocategory]]></category>
		<guid isPermaLink="false">https://www.davidonzo.com/?p=1455</guid>

					<description><![CDATA[I want to propose a new version of the &#8220;misp_taxii_hook&#8221; package included in the &#8220;MISP-TAXII-Server&#8221; available on the official MISP repository. Preamble The purpose is to improve the STIX import via TAXII on MISP. Actually the import system, before importing the IoC, checks for its existence in any event. If the item has been found, &#8230; <a href="https://www.davidonzo.com/2017/12/01/misp-new-misp_taxii_hook-for-misp-taxii-server/" class="more-link">Continue reading <span class="screen-reader-text">MISP: new misp_taxii_hook for MISP-TAXII-Server</span></a>]]></description>
										<content:encoded><![CDATA[<p>I want to propose a new version of the &#8220;misp_taxii_hook&#8221; package included in the &#8220;<a href="https://github.com/misp/MISP-Taxii-Server">MISP-TAXII-Server</a>&#8221; available on the official <a href="https://github.com/misp/">MISP repository</a>.</p>
<h3>Preamble</h3>
<p>The purpose is to improve the STIX import via TAXII on MISP. Actually the import system, before importing the IoC, checks for its existence in any event. If the item has been found, it will be discarded. If MISP receives the same IoC qualified for differents reasons in two or more STIX reports or if it has been imported before in others ways, it will be imported just the first time the system checks for it, and it will be discarded for the future in any other STIX report.</p>
<p>From a Security Analyst point of view, I think it&#8217;s better add the attribute, even if it has been yet imported by a previous import.</p>
<p>From a Data Analyst point of view, I don&#8217;t want to duplicate informations, because relationships check should result in deprecated performances and false positives.</p>
<h3><a href="https://github.com/davidonzo/MISP-Taxii-Server">The proposed &#8220;misp_taxii_hook&#8221; package (go to GitHub)</a></h3>
<p>The new hook try to define a title and a correspondent filename for the STIX report (def detect_title) using the and the header&#8217;s elements.<br />
If this operation successed, it performs a search to detect if the STIX file has been imported before. It searchs for a MISP event having the correspondent &#8220;title&#8221; and an attachment attribute named as the &#8220;filename&#8221;. It must have it boths!</p>
<p>If nothing found, a new event will be created with the previous defined title, attachment and the attributes included in the report.</p>
<figure id="attachment_1456" aria-describedby="caption-attachment-1456" style="width: 300px" class="wp-caption aligncenter"><a href="https://www.davidonzo.com/wp-content/uploads/2017/12/insert_ok.png"><img class="size-medium wp-image-1456" src="https://www.davidonzo.com/wp-content/uploads/2017/12/insert_ok-300x148.png" alt="New event for new STIX Report" width="300" height="148" srcset="https://www.davidonzo.com/wp-content/uploads/2017/12/insert_ok-300x148.png 300w, https://www.davidonzo.com/wp-content/uploads/2017/12/insert_ok-768x378.png 768w, https://www.davidonzo.com/wp-content/uploads/2017/12/insert_ok-668x329.png 668w, https://www.davidonzo.com/wp-content/uploads/2017/12/insert_ok.png 841w" sizes="(max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-1456" class="wp-caption-text">New event for new STIX Report</figcaption></figure>
<p>But, if these search conditions (title and attachment) are true, the hook try to update the detected event. If new attributes are detected, it will be pushed and a the STIX report will be attached.</p>
<figure id="attachment_1457" aria-describedby="caption-attachment-1457" style="width: 300px" class="wp-caption aligncenter"><a href="https://www.davidonzo.com/wp-content/uploads/2017/12/updated.png"><img class="size-medium wp-image-1457" src="https://www.davidonzo.com/wp-content/uploads/2017/12/updated-300x199.png" alt="Updated event for updated STIX Report" width="300" height="199" srcset="https://www.davidonzo.com/wp-content/uploads/2017/12/updated-300x199.png 300w, https://www.davidonzo.com/wp-content/uploads/2017/12/updated-768x509.png 768w, https://www.davidonzo.com/wp-content/uploads/2017/12/updated-668x443.png 668w, https://www.davidonzo.com/wp-content/uploads/2017/12/updated.png 870w" sizes="(max-width: 300px) 100vw, 300px" /></a><figcaption id="caption-attachment-1457" class="wp-caption-text">Updated event for updated STIX Report</figcaption></figure>
<p>If the STIX report has no title and description in the stix_header element, the hook will import the file using the old hook code.</p>
<h3><strong>How to test it</strong></h3>
<ul>
<li><strong><a href="https://github.com/davidonzo/MISP-Taxii-Server/">I forked the MISP-TAXII-Server repository including the new hook</a></strong></li>
<li><a href="https://github.com/davidonzo/MISP-Taxii-Server/blob/master/misp_taxii_hooks/hooks.py"><strong>Just patch the file manually (for experts only)</strong></a></li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://www.davidonzo.com/2017/12/01/misp-new-misp_taxii_hook-for-misp-taxii-server/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Boicottaggio del pensiero</title>
		<link>https://www.davidonzo.com/2013/12/31/boicottaggio-del-pensiero/</link>
					<comments>https://www.davidonzo.com/2013/12/31/boicottaggio-del-pensiero/#respond</comments>
		
		<dc:creator><![CDATA[davidonzo]]></dc:creator>
		<pubDate>Tue, 31 Dec 2013 17:29:36 +0000</pubDate>
				<category><![CDATA[nocategory]]></category>
		<guid isPermaLink="false">http://www.davidonzo.com/?p=1339</guid>

					<description><![CDATA[Un altro anno è finito e di solito non faccio bilanci. Per quelle robe ho un ottimo commercialista pronto a darmi qualsivoglia dispiacere fiscale. Una cosa sicuramente la farò prima che finisca il 2013: ascolterò cosa ha da dire il Presidente della Repubblica. Lo farò in parte perché lo faccio sempre e le tradizioni mi &#8230; <a href="https://www.davidonzo.com/2013/12/31/boicottaggio-del-pensiero/" class="more-link">Continue reading <span class="screen-reader-text">Boicottaggio del pensiero</span></a>]]></description>
										<content:encoded><![CDATA[<p>Un altro anno è finito e di solito non faccio bilanci. Per quelle robe ho un ottimo commercialista pronto a darmi qualsivoglia dispiacere fiscale. Una cosa sicuramente la farò prima che finisca il 2013: <strong>ascolterò cosa ha da dire il Presidente della Repubblica</strong>.</p>
<p>Lo farò in parte perché lo faccio sempre e le tradizioni mi danno tranquillità. Lo farò perché voglio ascoltare cosa dice. <strong>Lo farò per poter dire dopo cosa ne penso</strong>.</p>
<p>Non è detto che sarò d&#8217;accordo, ma non è detto nemmeno il contrario. Starò ad ascoltare, in silenzio, davanti il televisore, le parole di una persona che controvoglia non ha potuto lasciare una poltrona scomodissima, che lui stesso voleva lasciare.</p>
<p>Non boicotterò il discorso del Presidente, ma altrettanto non inviterò nessuno a vederlo. Siamo Italiani e sappiamo cosa succede ogni anno prima del cenone. Ognuno scelga cosa fare, dove stare, chi ascoltare. Ma mi piacerebbe si evitassero <strong>boicottaggi del pensiero</strong>.</p>
<p>Ognuno di noi può e deve difendere un&#8217;inevitabile libertà che subiamo minuto per minuto: <strong>la diversità</strong>. Siamo liberi perché godiamo delle nostre diversità in un mondo in cui anche gli altri possono. Anche le diversità hanno un limite di accettazione: la libertà altrui. Diversità e libertà sono complementari, ma allo stesso tempo uno conseguenza dell&#8217;altro.</p>
<p>La riduzione in classi omogenee (chi boicotta, chi non boicotta, chi aderisce e chi vorrebbe impedire&#8230;) sono solo nostre esemplificazioni logiche, perché è molto più facile raggruppare le differenze in insiemi che sono solo una nostra trasposizione.</p>
<p>Non vedrò in diretta il discorso di <a href="http://www.beppegrillo.it/">Grillo</a>, nonostante l&#8217;advertising in stile <em>serata danzante</em>&#8230;</p>
<p><a href="http://www.davidonzo.com/wp-content/uploads/2013/12/beppegrillo.it_.png"><img class="size-full wp-image-1341 aligncenter" alt="beppegrillo.it" src="http://www.davidonzo.com/wp-content/uploads/2013/12/beppegrillo.it_.png" width="588" height="79" srcset="https://www.davidonzo.com/wp-content/uploads/2013/12/beppegrillo.it_.png 588w, https://www.davidonzo.com/wp-content/uploads/2013/12/beppegrillo.it_-300x40.png 300w" sizes="(max-width: 588px) 100vw, 588px" /></a></p>
<p>Lo vedrò sicuramente (ma quanto è bella l&#8217;asincronia&#8230;), perché sono curioso di sapere cosa ha da dire, da proporre. Purtroppo so già che valuterò il tutto con una inevitabile velatura di pregiudizio, verso chi promuove iniziative &#8220;<em>contro</em>&#8220;. Valuterò il tutto con il pregiudizio di chi lo ha preso in considerazione in un certo momento, ma poi ne ha letto l&#8217;irrealizzabile programma (dove li trovi 32 Miliardi di Euro <strong>l&#8217;anno</strong> per il reddito di cittadinanza non è ancora chiaro, visti che i risparmi proposti sono tagli che creano disponibilità una tantum).</p>
<p>Lo guarderò e non mi dimenticherò mai che lui propose non più di due mandati a persona in parlamento. Una di quelle proposte che oggi trova tutti d&#8217;accordo, ma al tempo di un certo <a href="http://it.wikipedia.org/wiki/Enrico_Berlinguer">Enrico Berlinguer</a> avrebbe fatto rabbrividire. Fossimo mai capaci di far arrivare i più bravi politici a fare politica, li licenziamo dopo due mandati?</p>
<p>Di solito non pagano troppo le politiche punitive, soprattutto quando vanno a colpire un innocente. È lo stesso discorso del coprifuoco in tempo di guerra: si parte dal presupposto che tutti sono delinquenti, quindi la notte, quando il controllo è più difficile, si costringe la gente a non uscire. <strong>Il valore dell&#8217;onestà in questo modo viene azzerato</strong>. Non c&#8217;è più bisogno di essere delle persone per bene, perché la società in cui vivi ti considera delinquente prima di tutto.</p>
<p>Io non ragionerò mai così. Sono diverso <img src="https://s.w.org/images/core/emoji/12.0.0-1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> . Preferisco di gran lunga che tutti siano messi in condizione di informarsi, di conoscere le idee altrui, soprattutto quando sono diverse e contrarie. <strong>Come fai a essere in disaccordo con qualcuno che non vuoi ascoltare?</strong></p>
<p><a href="http://en.wikipedia.org/wiki/My_two_cents">Buon anno</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.davidonzo.com/2013/12/31/boicottaggio-del-pensiero/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>New ZeroAccess variant spreads as email attachment</title>
		<link>https://www.davidonzo.com/2013/11/20/new-zeroaccess-variant-spreads-as-email-attachment/</link>
					<comments>https://www.davidonzo.com/2013/11/20/new-zeroaccess-variant-spreads-as-email-attachment/#respond</comments>
		
		<dc:creator><![CDATA[davidonzo]]></dc:creator>
		<pubDate>Wed, 20 Nov 2013 00:00:36 +0000</pubDate>
				<category><![CDATA[nocategory]]></category>
		<guid isPermaLink="false">http://www.davidonzo.com/?p=1320</guid>

					<description><![CDATA[Very interesting strings output. Pentest.IT analysis. Virus Total. The malware resolve and communicate first with: j.maxmind.com [108.168.255.244] After this, the malware communicate via UDP with tons of other machines. Maybe other zombies client. &#160;]]></description>
										<content:encoded><![CDATA[<p>Very interesting <em>strings </em><a href="http://www.davidonzo.com/wp-content/uploads/2013/11/ZeroAccess.txt.zip">output</a>.</p>
<p><a href="http://www.pentest.it/analyze/91c7cbf95fa59e483fe6ab7ab3cbd5bb.html">Pentest.IT analysis</a>. <a href="https://www.virustotal.com/it/file/6a02ee4db96d9f7e39b07b6cb87e0dd6f5289d262b9abe6ee1186a7ac9e0af4e/analysis/1384889857/">Virus Total</a>.</p>
<p>The malware resolve and communicate first with: j.maxmind.com [<a href="http://whois.domaintools.com/108.168.255.244">108.168.255.244</a>]<a href="http://www.davidonzo.com/wp-content/uploads/2013/11/ZeroAccess.pcap_.zip"><br />
</a><a href="http://www.davidonzo.com/wp-content/uploads/2013/11/ZeroAccessNET.png"><img class="alignnone size-medium wp-image-1325" alt="ZeroAccessNET" src="http://www.davidonzo.com/wp-content/uploads/2013/11/ZeroAccessNET-300x42.png" width="300" height="42" srcset="https://www.davidonzo.com/wp-content/uploads/2013/11/ZeroAccessNET-300x42.png 300w, https://www.davidonzo.com/wp-content/uploads/2013/11/ZeroAccessNET-1024x145.png 1024w, https://www.davidonzo.com/wp-content/uploads/2013/11/ZeroAccessNET.png 1366w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>After this, the malware communicate via UDP with tons of other machines. Maybe other zombies client.</p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.davidonzo.com/2013/11/20/new-zeroaccess-variant-spreads-as-email-attachment/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[SPAM] Banco Posta online &#8211; Italy</title>
		<link>https://www.davidonzo.com/2013/11/16/spam-banco-posta-online-italy/</link>
					<comments>https://www.davidonzo.com/2013/11/16/spam-banco-posta-online-italy/#respond</comments>
		
		<dc:creator><![CDATA[davidonzo]]></dc:creator>
		<pubDate>Sat, 16 Nov 2013 20:18:17 +0000</pubDate>
				<category><![CDATA[nocategory]]></category>
		<guid isPermaLink="false">http://www.davidonzo.com/?p=1312</guid>

					<description><![CDATA[Often the spam folder of my gmail account is very interesting. I&#8217;m not a bancoposte customer, but I receive 2/3 email per week where someone notify me that my back account will be locked unless I provide my credentials in the attached form. The attached form is nothing more and nothing less that an HTML &#8230; <a href="https://www.davidonzo.com/2013/11/16/spam-banco-posta-online-italy/" class="more-link">Continue reading <span class="screen-reader-text">[SPAM] Banco Posta online &#8211; Italy</span></a>]]></description>
										<content:encoded><![CDATA[<p>Often the spam folder of my gmail account is very interesting. I&#8217;m not a bancoposte customer, but I receive 2/3 email per week where someone notify me that my back account will be locked unless I provide my credentials in the attached form.</p>
<p><a href="http://www.davidonzo.com/wp-content/uploads/2013/11/spamposte.png"><img class="aligncenter" alt="spamposte" src="http://www.davidonzo.com/wp-content/uploads/2013/11/spamposte-300x157.png" width="300" height="157" /></a></p>
<p>The attached form is nothing more and nothing less that an HTML file that clone <a href="https://bancopostaonline.poste.it" target="_blank">the real web page form</a>. The fake has the same javascript code in the head, point external javscript and CSS files to the reals resource on https://bancopostaonline.poste.it.</p>
<p>Of course, looking into the form, the post action result as the real danger.</p>
<p><a href="http://www.davidonzo.com/wp-content/uploads/2013/11/bancoposte.postdata.png"><img class="alignnone size-medium wp-image-1314" alt="bancoposte.postdata" src="http://www.davidonzo.com/wp-content/uploads/2013/11/bancoposte.postdata-300x29.png" width="300" height="29" srcset="https://www.davidonzo.com/wp-content/uploads/2013/11/bancoposte.postdata-300x29.png 300w, https://www.davidonzo.com/wp-content/uploads/2013/11/bancoposte.postdata.png 575w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>All post data will be sent to <a href="http://whois.domaintools.com/117.79.224.238" target="_blank">an unknown server located in China</a>.</p>
<p>Visiting the url (sending fake data) via post or get request, the page forward the client to poste.it with no referer.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.davidonzo.com/2013/11/16/spam-banco-posta-online-italy/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>The blog is dead</title>
		<link>https://www.davidonzo.com/2013/11/10/the-blog-is-dead/</link>
					<comments>https://www.davidonzo.com/2013/11/10/the-blog-is-dead/#respond</comments>
		
		<dc:creator><![CDATA[davidonzo]]></dc:creator>
		<pubDate>Sun, 10 Nov 2013 18:06:48 +0000</pubDate>
				<category><![CDATA[nocategory]]></category>
		<guid isPermaLink="false">http://www.davidonzo.com/?p=1305</guid>

					<description><![CDATA[&#8230;log life to the new one! Nothing more and nothing less than a wordpress installation. This make this host a bit less secure, but I hope more usable. Thanks to &#8220;The Diamond sea&#8221; (Sonic Youth) that give me the ispiration and the motivation to give a second life to this blog 🙂]]></description>
										<content:encoded><![CDATA[<p>&#8230;log life to the new one!</p>
<p>Nothing more and nothing less than a wordpress installation. This make this host a bit less secure, but I hope more usable.</p>
<p>Thanks to &#8220;The Diamond sea&#8221; (Sonic Youth) that give me the ispiration and the motivation to give a second life to this blog <img src="https://s.w.org/images/core/emoji/12.0.0-1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><iframe src="//www.youtube.com/embed/SnOi9Vem4sc" height="315" width="420" allowfullscreen="" frameborder="0"></iframe></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.davidonzo.com/2013/11/10/the-blog-is-dead/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Professionisti a partita IVA: mezza giornata per me, l&#8217;altra mezza allo stato</title>
		<link>https://www.davidonzo.com/2010/05/23/professionisti-a-partita-iva-mezza-giornata-per-me-l039altra-mezza-allo-stato/</link>
					<comments>https://www.davidonzo.com/2010/05/23/professionisti-a-partita-iva-mezza-giornata-per-me-l039altra-mezza-allo-stato/#comments</comments>
		
		<dc:creator><![CDATA[davidonzo]]></dc:creator>
		<pubDate>Sun, 23 May 2010 17:58:04 +0000</pubDate>
				<category><![CDATA[nocategory]]></category>
		<guid isPermaLink="false">http://www.davidonzo.com/?p=1203</guid>

					<description><![CDATA[Probabilmente questo post deprimerà non poche persone, ma penso sia importante che certe cose vengano scritte con numeri tonanti. Sono stato dipendente a tempo indeterminato per sei anni, percependo uno stipendio con qualifica infima per avere di fatto un ruolo dirigenziale. Il mio stipendio medio stava intorno ai 1000 Euro al mese e con affitto &#8230; <a href="https://www.davidonzo.com/2010/05/23/professionisti-a-partita-iva-mezza-giornata-per-me-l039altra-mezza-allo-stato/" class="more-link">Continue reading <span class="screen-reader-text">Professionisti a partita IVA: mezza giornata per me, l&#8217;altra mezza allo stato</span></a>]]></description>
										<content:encoded><![CDATA[<p>Probabilmente questo post deprimerà non poche persone, ma penso sia importante che certe cose vengano scritte con numeri tonanti.</p>
<p>Sono stato dipendente a tempo indeterminato per sei anni, percependo uno stipendio con qualifica infima per avere di fatto un ruolo dirigenziale. Il mio stipendio medio stava intorno ai 1000 Euro al mese e con affitto e tutte le altre spese sinceramente non andavo da nessuna parte. Metteteci poi che l&#8217;azienda per cui lavoravo era di quelle che non possono concederti aumenti di stipendio perché anche i dipendenti devono sostenere la crescita. Salvo poi vedere i grandi capi auto-darsi aumenti di stipendio sull&#8217;ordine dei 300 Euro mensili ogni anno.</p>
<p>Dopo sei lunghi anni (<strong>due dei quali vissuti in nero!</strong>) e con qualche professionalità che mi ero imposto di costruirmi prescindendo da quello che facevo ho deciso di andarmene e tentare la strada del libero professionista. Ho quindi aperto partita IVA.</p>
<p>A differenza di molte esperienze percepite durante la scelta del migliore regime fiscale a cui aderire, io ho avuto una grande mano proprio dall&#8217;agenzia delle entrate. Proprio all&#8217;ufficio di Modica ci sono dirigenti che riescono a chiarirti bene la situazione, soprattutto ti avvertono sul fatto che l&#8217;apertura della partita IVA è totalmente gratuita, mentre qualche commercialista canaglia a cui mi ero rivolto aveva provato a chiedermi 100 euro per il disbrigo pratica e rimborso spese.</p>
<p>Alla fine, dopo aver valutato attentamente e grazie all&#8217;indirizzo del dirigente, sono più che sicuro di aver fatto la scelta giusta. All&#8217;epoca era appena entrata in vigore la legge sui minimi. Dal punto di vista finanziario poco cambia. Costa quanto una partita IVA normale, ma si hanno molte meno beghe burocratiche.</p>
<p>Bene, partiva IVA aperta in pochi minuti. Il giorno dopo ho fatto l&#8217;iscrizione alla gestione separata dell&#8217;INPS, ed anche quello è stato facile. Basta una telefonata ad un numero gratuito. Si danno i propri dati, si risponde ad un brevissimo questionario ed il gioco è fatto. In meno di una settimana mi è arrivata la ricevuta di avvenuta iscrizione.</p>
<p>Fin qui sembra tutto facile e bello, ma ancora non ci si è scontrati con la cosa peggiore: <strong>le aliquote fiscali e previdenziali</strong>. Perché come vi dicevo, con il miglior regime fiscale a cui si può aderire, si hanno al massimo sgravi burocratici. Lo stato ladro e canaglia in cui viviamo non fa sconti a nessuno <img src="https://s.w.org/images/core/emoji/12.0.0-1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Procediamo con un&#8217;ipotesi molto ottimistica. Ipotizziamo di aver aperto partita IVA il 28 Dicembre 2009. Ipotizziamo di cominciare a lavorarci davvero da gennaio 2010. Per semplicità poniamo il caso di emettere per tutto il 2010 un totale di 13 fatture (come se prendessimo una mensilità più una tredicesima di un dipendente) dell&#8217;importo lordo di 2000 Euro l&#8217;una.</p>
<p>Punto primo: il regime dei minimi è fuori campo IVA. Ovvero si ha partita IVA, ma non si applica l&#8217;imposta nelle fatture. Sembra una cosa buona, che rende più concorrenziale il libero professionista. Ma c&#8217;è un risvolto importante. Dato che si è fuori campo IVA e non si percepisce quindi dai clienti, <strong>l&#8217;IVA che andiamo a pagare sulle fatture d&#8217;acquisto è un costo</strong>. Ma non deprimiamoci, perché nonostante tutto il nostro è il regime IVA migliore che potessimo scegliere.</p>
<p>Tornando ai nostri conti, quanto fattureremo per il 2010? € 26.000, più il 4% di rivalsa INPS, che alla faccia della rivalsa è vero e proprio reddito su cui calcolare le imposte. Oltretutto qualsiasi cliente attento vi chiederà un prezzo comprensivo delle rivalse. Ma facciamo il caso che il problema non si ponga. <strong>Alla fine il nostro fatturato annuo sarà di € 27.040,00</strong>. Giusto giusto dentro i 30.000 di limite per i contribuenti minimi.</p>
<p>Noi liberi professionisti che si vende attività consulenziale, nel 99,99% dei casi si lavora per aziende a cui mancano le risorse interne ed a cui conviene comprare questo tipo di professionalità on demand. Se il nostro cliente è a sua volta un soggetto con partita IVA, noi non incasseremo il totale della fattura. A questa andrà detratta la ritenuta d&#8217;acconto (pari al 20%) che verserà come sostituto d&#8217;imposta il nostro cliente. Praticamente siam trattati come i dipendenti, che hanno le trattenute in busta paga, ma saremmo professionisti e magari queste cifre potremmo investirle per aumentare la nostra capacità di reddito. Secondo lo statazzo italiano non abbiamo questo diritto.</p>
<p>Facciamo due rapidi conti e a fronte di un fatturato annuo di € 27.040,00, <strong>incasseremo € 21.632,00</strong>. Tutto sommato sembra anche una bella cifra. Ma quando viene il momento della dichiarazione dei redditi ecco che arriva la bastonata: <strong>l&#8217;INPS</strong>.</p>
<p>E&#8217; normale pagare l&#8217;INPS, non perché un giorno avremo una pensione (c&#8217;ho perso proprio le speranza), ma perché siamo necessari per pagare le pensioni dei parlamentari, che maturano dopo un terzo di legislatura (un paio d&#8217;anni) e di tutti gli altri dirigenti statali messi lì dai politici parrucconi che godono delle stesse tutele.</p>
<p>L&#8217;aliquota INPS per la gestione separata? <strong>Il 27,62% (e aumenta sempre!!!)</strong>. L&#8217;imponibile di calcolo è poi il totale fatturato comprensivo del 20% di ritenuta d&#8217;acconto. Quindi lo stato lo pago due volte. Al 20% che si trattiene lo stato come IRPEF devo calcolare anche il 26,72% che andrà sempre allo stato, ma sottoforma di contributi previdenziali (di cui non godremo mai). Facciamoli due conticini. A fine anno di INPS si dovranno pagare <strong>€ 7.225,09</strong>.</p>
<p><strong>Voi pensate di poter contare su un netto di (€ 21.632,00 &#8211; 7.223,09) = € 14.406,91?</strong> Ma assolutamente no. Perché oltre il saldo dell&#8217;anno di competenza, ci viene chiesto anche l&#8217;anticipo per l&#8217;anno successivo.</p>
<p><strong>L&#8217;anticipo INPS è parti all&#8217;80% dei contributi dell&#8217;anno di competenza</strong>. Pagabili in due rate: una contestuale al saldo e l&#8217;altra entro il 30 novembre. Ma che simpatico stato che ci fa pure rateizzare il pagamento di contributi calcolati sulla fiducia.</p>
<p>Ricapitolando, avendo fatturato 2000 Euro al mese, posto che siamo riusciti a farci riconoscere anche il 4% di rivalsa (ci stiamo ipotizzando non iscritti ad albi professionali, per questo il 4% e non il 2%), avremo un risultato economico d&#8217;esercizio pari a:</p>
<p><em>Fatturato: € 27.040,00<br />
&#8211; Ritenuta d&#8217;acconto: € 5.408,00<br />
&#8211; Contributi INPS: € 7.225,09<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Risultato economico: € 14.406,91<br />
&#8211; Primo anticipo INPS: € 2.890,04<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
A giugno disponiamo di: € 11.516,88<br />
&#8211; Secondo anticipo INPS: € 2.890,04<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
<strong>A Novembre disponiamo di € 8.626,84</strong></em></p>
<p>Ovvero, dopo il primo anno di attività (quindi il momento più difficile della vita imprenditoriale di una ditta) avendo fatturato una cifra niente male per essere agli inizi, sappiamo di poter disporre pulite di meno di 10mila euro, <strong>pari al 31,90% di quello che abbiamo prodotto</strong>. Anche senza contare gli anticipi, siamo intorno al <strong>53,28%</strong>. <strong>Ovvero metà a me che lavoro e l&#8217;altra metà allo stato che non fa una sega e non riesce a garantirmi in nessun modo un futuro pensionistico!</strong></p>
<p>Ma forse non sto considerando un aspetto: i costi d&#8217;impresa. Quelli sono deducibili! Che costi fa un libero professionista che vende il suo lavoro intellettuale? Facciamone una lista:</p>
<ul>
<li>Mangia sempre fuori: i pasti possono scaricarsi al 70% e se lo fa nei weekend e/o festivi deve pure giustificare la cosa.</li>
<li>Sta sempre in giro: le spere per carburanti e manutenzione auto possono scaricarsi al 40% (io però l&#8217;auto la uso al 90% per lavoro e quando non lavoro se posso vado a piedi).</li>
<li>Sta sempre al telefono: scaricabile all&#8217;80%. Mica male, solo che se faccio un contratto con partita IVA devo pure pagare la tassa di concessione governativa. Perché?! Che senso ha la tassa di concessione governativa se poi ipotizzi l&#8217;uso promisquo della spesa?</li>
<li>Noi si sta lontani da casa: l&#8217;affitto, posto che si deve avere un contratto registrano (in Italia?! Ahahahahah!!!) e devi dichiarare la stanza presa a peso d&#8217;oro come sede della ditta, è scaricabile al 50%.</li>
</ul>
<p>Infine rivediamo i nostri calcoli ed ipotizziamo che fra pasti, benzina, materiali di consumo e beni strumentali, il nostro povero cristo riesca a scaricare 300 Euro al mese.</p>
<p><em>Fatturato: € 27.040,00<br />
&#8211; Costi d&#8217;esercizio: € 3.600,00<br />
&#8211; Ritenuta d&#8217;acconto: € 4.688,00<br />
&#8211; Contributi INPS: € 6.263,17<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Risultato economico: € 12.488,83<br />
&#8211; Primo anticipo INPS: € 2.505,27<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
A giugno disponiamo di: € 11.516,88<br />
&#8211; Secondo anticipo INPS: </em><em>€ 2.505,27</em><br />
<em> &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
<strong>A Novembre disponiamo di € 7.478,30</strong></em></p>
<p>Le percentuali ovviamente non cambiano, ma cambia il fatto che mettendo nel conto i costi aziendali esce fuori che il libero professionista fin dalla prima fattura sta di fatto anticipando imposte allo stato. Se è vero che la ritenuta d&#8217;acconto di competenza in questo caso è di € 4.688,00, lui ne verserà comunque € 5.408,00. Quella somma gli viene trattenuta fattura per fattura, pagamento per pagamento, e non può farci niente ne lui, ne il suo cliente. Per legge va fatto. Solo in sede di dichiarazione dei redditi, a conti fatti potrà portare in detrazione la somma. Quindi rispetto alle fatture di Dicembre, solo sei mesi dopo, rispetto a quelle di Gennaio, giusto 18 mesi. Ulteriore liquidità che potrebe tornare utile ad un professionista che sa come investire le sue eccedenze.</p>
<p>In conclusione, cari politici, di destra, di sinistra (a voi di centro nemmeno vi nomino perché siete la causa del sistema) <strong>quando venite a dirci che ci vuole più iniziativa in Italia, mi fareste il sacro santo favore di andarvene a fare in culo?!</strong></p>
<p><strong>Edit</strong>: leggendo commenti sparsi per il web a questo post molti fanno un appunto formalmente giusto: mischio cassa e competenza. Vero. Lo faccio perché è il regime dei minimi a funzionare sencondo il solo principio di cassa. Tale specifica in effetti è una novità assoluta per i regimi fiscali italiani fin qui vigenti.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.davidonzo.com/2010/05/23/professionisti-a-partita-iva-mezza-giornata-per-me-l039altra-mezza-allo-stato/feed/</wfw:commentRss>
			<slash:comments>72</slash:comments>
		
		
			</item>
		<item>
		<title>Un&#8217;espressione regolare è per sempre&#8230;</title>
		<link>https://www.davidonzo.com/2006/10/27/un039espressione-regolare-per-sempre/</link>
					<comments>https://www.davidonzo.com/2006/10/27/un039espressione-regolare-per-sempre/#comments</comments>
		
		<dc:creator><![CDATA[davidonzo]]></dc:creator>
		<pubDate>Fri, 27 Oct 2006 08:44:10 +0000</pubDate>
				<category><![CDATA[nocategory]]></category>
		<guid isPermaLink="false">http://www.davidonzo.com/?p=362</guid>

					<description><![CDATA[Scrivo pochissimo da un po&#8217; di tempo a questa parte, ma è perchè il lavoro mi assorbe completamente . Metteteci pure che sono in lotta con l&#8217;azienda per ottenere un contratto degno di questo nome e capirete che non è che si viva tranquillissimi in questo periodo. Però, nella migliore tradizione del blog utilizzato come &#8230; <a href="https://www.davidonzo.com/2006/10/27/un039espressione-regolare-per-sempre/" class="more-link">Continue reading <span class="screen-reader-text">Un&#8217;espressione regolare è per sempre&#8230;</span></a>]]></description>
										<content:encoded><![CDATA[<p>Scrivo pochissimo da un po&#8217; di tempo a questa parte, ma è perchè il lavoro mi assorbe completamente <img alt=": - (" src="/dblog/template/davidonzo1/gfx/smile_triste.gif" /> . Metteteci pure che sono in lotta con l&#8217;azienda per ottenere un contratto degno di questo nome e capirete che non è che si viva tranquillissimi in questo periodo.</p>
<p>Però, nella migliore tradizione del blog utilizzato come mio personale block notes (forse lo chiamerò <span style="font-weight: bold; font-style: italic;">blog notes</span> <img alt=": - P" src="/dblog/template/davidonzo1/gfx/smile_lingua.gif" /> ) oggi vorrei scrivere qualcosina di interessante (quantomeno per me) sul PHP e l&#8217;utilizzo delle espressioni regolari.</p>
<p>Non starò qui a dire che esistono due tipi fondamentali di espressioni regolari (le <a href="http://it2.php.net/pcre" target="_blank">perl compatibili</a> e le <a href="http://it.php.net/regex" target="_blank">posix</a>). Per queste cose c&#8217;è il <a href="http://it.php.net/manual/it/index.php" target="_blank">manuale</a> <img alt="; - )" src="/dblog/template/davidonzo1/gfx/smile_occhiolino.gif" /> . Voglio un po&#8217; dissertare sul loro utilizzo pratico. Perchè e in che contesti possono essere utilizzate.</p>
<p><span style="font-weight: bold;">Cosa permette di fare un&#8217;espressione regolare?</span><br />
Permettono di controllare e manipolare una stringa. Un valore variabile inviato con i comuni metodi di <a href="http://baglieri.it/index.php?module=pagemaster&amp;PAGE_user_op=view_page&amp;PAGE_id=46&amp;MMN_position=59:51" target="_blank">passaggio delle variabili</a>.</p>
<p><span style="font-weight: bold;">In che contesto ha senso utilizzare un&#8217;espressione regolare?</span><br />
Nel contesto in cui il coder individua un&#8217;utilità per l&#8217;applicazione <img alt=": - )" src="/dblog/template/davidonzo1/gfx/smile_sorriso.gif" /> . Di base possono essere utilizzate sempre e comunque ci si trovi in presenza di un flusso di dati da controllare.<br />
Nella pratica, un&#8217;applicazione utilizzata da un solo individuo coincidente con il coder principale, difficilmente avrà bisogno di espressioni regolari. Diciamo che suonerà strano che il coder dell&#8217;applicazione, unico utilizzatore del programma, abbia necessità di controllare se stesso. In teoria dovrebbe conoscere bene la gestione delle stringhe, e non avere bisogno di auto cassarsi in caso di errore.</p>
<p>Se, al contrario, si parla di applicazioni multiutenza e/o ad utilizzo di terze persone, controllare i flussi di questi risulta doveroso. Gli utenti sbagliano. A volte lo fanno con cognizione di causa, spesso lo fanno per pura distrazione, nel 99% dei casi non conoscono le velleità di una stringa passata via http, che dovrà essere salvata in un database (MySQL o chi per lui) e dovrà successivamente essere estrapolata da questo come dato di visualizzazione. L&#8217;utente non sa ed è meglio che non sappia questo genere di cose.<br />
Piuttosto che andare a scrivere i <span style="font-style: italic;">manualissimi</span> con indicazione dettagliata di ogni voce di form da inserire, meglio costringere in concreto l&#8217;utilizzato a comportarsi in un certo modo, o ancor meglio rendere un comportamento errato, giusto per noi <img alt=": - )" src="/dblog/template/davidonzo1/gfx/smile_sorriso.gif" /> .</p>
<p><span style="font-weight: bold;">Ma qualche esempio concreto?!</span><br />
Ce ne sono a bizzeffe! Solo che spesso gli utenti non si accorgono nemmeno di essere vittima di un&#8217;espressione regolare <img alt=": - D" src="/dblog/template/davidonzo1/gfx/smile_risatona.gif" /> .<br />
Avete presente il BBCode (Bulletin Board Code) presente in molte applicazioni per la tenuta di forum e simili? Bene, spesso il BBCode non è altro che una serie di espressioni regolari che controllano un flusso di informazioni e reagiscono sostituendo a certi elementi, quelli che dovranno comparire in visualizzazione.<br />
Non ditemi che non avete mai scritto in un forum una frase fra i tag [b] e [/b]. Se vi siete ritrovati il testo contenuto fra i tag in grassetto è perchè anche voi siete caduti nella tremenda rete delle espressioni regolari <img alt=": - P" src="/dblog/template/davidonzo1/gfx/smile_lingua.gif" /> .</p>
<p><span style="font-weight: bold;">Volete qualche esempio pratico?</span><br />
Per prima cosa andatevi a leggere <a style="font-weight: bold;" href="http://php.html.it/articoli/leggi/851/espressioni-regolari/2/" target="_blank">questa pagina</a>. Sapere cos&#8217;è un metacarettere è fondamentale al fine di organizzare buoni flussi di controllo!<br />
Ora, posto che abbiate letto tutto per benino, posto che sappiate che per far riconoscere un metacarettere come valore stringa dovete farlo precedere da <span style="font-weight: bold;">backslash</span> &#8220;&#8221;, andiamo a vedere qualche utilizzo pratico delle espressioni regolari <img alt=": - )" src="/dblog/template/davidonzo1/gfx/smile_sorriso.gif" /> .</p>
<p><span style="font-weight: bold;">Controllo validità password.</span><br />
Avete il vostro bel form di registrazione. Gli utenti impostano la propria password in fase di registrazione passandola con la variabile $_POST[&#8216;password&#8217;].<br />
Voi volete che i vostri utenti usino una password che sia compresa in valori alfanumerici e che abbia lunghezza minima di 6 caratteri e massima di 15. Come fare?<br />
Nella pagina deputata al trattamento delle variabili inviate dall&#8217;utente in fase di registrazione, inserite fra l&#8217;altro un&#8217;espressione regolare di questo tipo:</p>
<div class="Code">if(!preg_match(&#8216;/^[A-Za-z0-9]{6,15}$/&#8217;,$_POST[&#8216;password&#8217;])){</p>
<p>// Avviso che la password non può essere accettata<br />
echo &#8216;La password deve contenere valori alfanumerici e deve essere di lunghezza non inferiore a 6 e non superiore a 15 caratteri&#8217;;</p>
<p>//Cautelativamente interrompo il processo di registrazione<br />
exit();<br />
}</p></div>
<p>Cosa ho fatto? Con <a style="font-weight: bold;" href="http://it2.php.net/manual/it/function.preg-match.php" target="_blank">preg_match</a> eseguo il riconoscimento funzionale di una stringa. Il punto esclamativo non fa altro che impostare una negazione. Il tutto va dunque letto così: <span style="font-style: italic;">se la stringa che vado a controllare <span style="font-weight: bold;">NON </span>corrisponde ai criteri di controllo impostati.</span><br />
Andiamo a spiegare ad uno ad uno come è stata scritta l&#8217;espressione di controllo:</p>
<ul>
<li>^ = inizio dell&#8217;espressione di controllo.</li>
<li>[A-Za-z0-9]: qui imposto tre intervalli, che in questo caso sono di validità.
<ul>
<li>[A-Z]: tutti i caratteri alfabetici maiuscoli.</li>
<li>[a-z]: tutti i caratteri alfabetici minuscoli.</li>
<li>[0-9]: tutti i caratteri numerici.</li>
</ul>
</li>
<li>{6-15}: valore minimo e massimo di lunghezza della stringa.</li>
<li>$ = fine dell&#8217;espressione di cotrollo.</li>
<li>$_POST[&#8216;password&#8217;]: stringa da controllare.</li>
</ul>
<p><span style="font-weight: bold;"> Validare il formato data.</span><br />
Stesso discorso che vale per la password. Faccio scrivere la data in formato <span style="font-weight: bold;">GG/MM/AAAA</span>. Una stringa di tipo &#8220;23/09/2006&#8221; è valida, una di tipo &#8220;23/09/06&#8221; o &#8220;23-09-2006&#8221; invece non mi sta bene. Potrei pilotare l&#8217;operato dell&#8217;utente, ma dato che al momento siamo bastardi dentro, lo costringiamo a riempire nuovamente il form con i dati corretti <img alt=": - )" src="/dblog/template/davidonzo1/gfx/smile_sorriso.gif" /> .<br />
La nostra variabile da controllare sarà $_POST[&#8216;data&#8217;].</p>
<div class="Code">if(!preg_match(&#8216;/^[0-9]{2}/[0-9]{2}/[0-9]{4}/&#8217;,$_POST[&#8216;data&#8217;])){<br />
echo &#8216;Stai utilizzando un formato data non conforme.&lt;br /&gt;<br />
Il formato data corretto deve essere:&lt;br /&gt;<br />
&lt;center&gt;&lt;strong&gt;GG/MM/AAAA&lt;/strong&gt;&lt;/center&gt;&#8217;;<br />
exit;<br />
}</div>
<p>Anche in questo caso uno un&#8217;espressione che definiremo di tipo validante, perchè l&#8217;evento del flusso if si verificherà in caso di negazione dell&#8217;espressione di controllo.<br />
Di fatto cosa faccio? Controllo che la variabile $_POST[&#8216;data&#8217;] sia composta da un primo pezzettino numerico di 2 caratteri, dopo di che devo avere il carattere slash &#8220;&#8221;. Altro pezzettino numerico da due caratteri, altro slash, ed ultimo pezzettino numerico di 4 caratteri <img alt=": - )" src="/dblog/template/davidonzo1/gfx/smile_sorriso.gif" /> .</p>
<p>Ovviamente l&#8217;espressione regolare per come riportata non valida una vera e propria data, ma un formato di testo predefinito. Dovrete implementare altri flussi di controllo per far si che il numero corrispondente al giorno non sia superiore a 31 e quello corrispondente al mese non sia superiore a 12. Ma per il momento non sono controlli che ci interessano <img alt="; - )" src="/dblog/template/davidonzo1/gfx/smile_occhiolino.gif" /> .</p>
<p><span style="font-weight: bold;">Disabilitare l&#8217;HTML in un form.</span><br />
Abbiamo il nostro bel commentario. In una casella di testo i nostri utenti possono scrivere tutto quello che vogliono, ma noi non vogliamo che questi usino l&#8217;HTML, ed allora, magari con una bella espressione regolare, lo disabilitiamo <img alt=": - )" src="/dblog/template/davidonzo1/gfx/smile_sorriso.gif" /> .<br />
Stabiliamo di controllare la variabile $_POST[&#8216;commento&#8217;]. Il modo più facile di eliminare l&#8217;html è eliminare tutto quello che è compreso fra <span style="font-weight: bold;">&lt;</span> e <span style="font-weight: bold;">&gt;</span> .</p>
<div class="Code">$_POST[&#8216;commento&#8217;] = preg_replace(&#8216;#&lt;(.*?)&gt;#i&#8217;,&#8221;,$_POST[&#8216;commento&#8217;]);</div>
<p>Qualsiasi cosa ci sia dentro i caratteri che identificano sintassi HTML, deve scomparire con i caratteri identificativi stessi!<br />
E se volessimo far sparire anche le istruzioni comprese fra due tag HTML uno di apertura ed uno di chiusura? Ad esempio, la facile istruzione &lt;a href=&#8221;link&#8221;&gt;TestoLinkato&lt;/a&gt;, oppure la pericolosa &lt;script&gt;qualcosa&lt;/script&gt;.</p>
<div class="Code">$_POST[&#8216;commento&#8217;] = preg_replace(&#8216;#&lt;(.*?)&gt;(.*?)&lt;/(.*?)&gt;#i&#8217;,&#8221;,$_POST[&#8216;commento&#8217;]);</div>
<p>E saluti e baci <img alt=": - )" src="/dblog/template/davidonzo1/gfx/smile_sorriso.gif" /> . Non penso ci sia bisogno di ulteriori spiegazioni.</p>
<p><span style="font-weight: bold;">Un po&#8217; di BBCode.</span><br />
Ok, disabilitiamo l&#8217;html, ma vogliamo proprio tarpare le ali ai nostri utenti?! Non siamo poi mica tanto carogne&#8230; O quantomeno cerchiamo di non esserlo. Allora costringiamo l&#8217;utente a dover usare nostre regole se vuole che un po&#8217; di codice html venga postato nei suoi deliri <img alt=": - P" src="/dblog/template/davidonzo1/gfx/smile_lingua.gif" />.<br />
Di fatto implementiamo un po&#8217; di BBCode, che magari usiamo da anni nei nostri forum preferiti. Qui facciamo qualche esempio facile, ma quelli difficili sono solo estenzione di casistica <img alt="; - )" src="/dblog/template/davidonzo1/gfx/smile_occhiolino.gif" /> . E&#8217; normale che maggiori sono le regole di controllo, maggiore è la difficoltà nel controllare il flusso relativo.</p>
<p>Ma vediamo degli esempi banali partendo dall&#8217;assunto che non accettiamo codice html diretto dagli utenti:</p>
<p><span style="font-weight: bold;"> &#8211; Permettere il linkining nella variabile $text:</span></p>
<div class="Code">$text = preg_replace(&#8220;#[url=(.*?)](.*?)[/url]#i&#8221;,&#8221;&lt;a href=&#8221;\1&#8243; target=&#8221;_blank&#8221;&gt;\2&lt;/a&gt;&#8221;,$text);</div>
<p>La tecnica è quella usata di solito da molte board. Per linkare si useranno dei tag predefiniti dall&#8217;utente, nella fattispece [url=valore del url]testo linkato[/url].</p>
<p>Notate l&#8217;uso del carattere di escape davanti alle parentesi quadre. Necessario perchè altrimenti queste sarebbero lette come metacaratteri.<br />
I valori \1 e \2 nel risultato dell&#8217;espressione non sono altro che la specificazione di quello che trona nel primo  e nel secondo (*.?).<br />
E&#8217; poi ovvio che serviranno altri flussi di controllo per verificare che si tratti di un link valido!</p>
<p><span style="font-weight: bold;"> &#8211; Inserire immagini. Variabile $text:</span></p>
<div class="Code">$text = preg_replace(&#8220;#[img](.*?)[/img]#i&#8221;,&#8221;&lt;img src=&#8221;\1&#8243; alt=&#8221;Immagine&#8221; /&gt;&#8221;,$text);</div>
<p>Esattamente come prima! Facile no?</p>
<p><span style="font-weight: bold;"> &#8211; Elementi di formattazione. Variabile $text:</span></p>
<div class="Code">  //Grassetto<br />
$text = preg_replace(&#8220;#[b](.*?)[/b]#i&#8221;,&#8221;&lt;b&gt;\1&lt;/b&gt;&#8221;,$text);  //Corsivo<br />
$text = preg_replace(&#8220;#[i](.*?)[/i]#i&#8221;,&#8221;&lt;i&gt;\1&lt;/i&gt;&#8221;,$text);</p>
<p>//Sottolineato<br />
$text = preg_replace(&#8220;#[u](.*?)[/u]#i&#8221;,&#8221;&lt;u&gt;\1&lt;/u&gt;&#8221;,$text);</p>
</div>
<p>Non penso ci sia bisogno di spiegare la cosa <img alt="; - )" src="/dblog/template/davidonzo1/gfx/smile_occhiolino.gif" /> .</p>
<p>Bene, spero sia utile a qualcuno. A me lo sarà sicuramente <img alt=": - )" src="/dblog/template/davidonzo1/gfx/smile_sorriso.gif" /> . Ovviamente il discorso è molto più lungo e complesso di come è stato presentato da me, ma per queste cose ci sono i manuali, io resto sempre uno smanettone.</p>
<p>Un saluto a tutti e prometto di essere più presente d&#8217;ora in poi <img alt=": - )" src="/dblog/template/davidonzo1/gfx/smile_sorriso.gif" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.davidonzo.com/2006/10/27/un039espressione-regolare-per-sempre/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
	</channel>
</rss>
