<?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>/dev/random &#187; css</title>
	<atom:link href="http://alex.amiran.it/tag/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://alex.amiran.it</link>
	<description></description>
	<lastBuildDate>Sun, 08 Jan 2012 15:49:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<image>
<link>http://alex.amiran.it</link>
  <url>http://alex.amiran.it/wp-content/themes/shu-ok/img/favicon.png</url>
  <title>/dev/random</title>
</image>
		<item>
		<title>HTML5, pronta la working draft</title>
		<link>http://alex.amiran.it/20080124/html5-pronta-la-working-draft/</link>
		<comments>http://alex.amiran.it/20080124/html5-pronta-la-working-draft/#comments</comments>
		<pubDate>Thu, 24 Jan 2008 11:00:49 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://alex.amiran.it/20080124/html5-pronta-la-working-draft/</guid>
		<description><![CDATA[Dopo alcuni mesi di discussione &#8220;informale&#8221; il W3C ha rilasciato la Working Draft di HTML 5. La prima cosa che salta all&#8217;occhio (non ho ancora letto tutto il draft, e non penso lo leggerò mai, è lunghissimo!) è che finalmente hanno unificato la numerazione delle varie componenti. Quindi avremo HTML5, XHTML5 e DOM5 (invece di [...]]]></description>
			<content:encoded><![CDATA[<p class="caption"     style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;font-style: italic; padding: 0 1em;font-style: italic; padding: 0 1em;">Dopo alcuni mesi di discussione &#8220;informale&#8221; il W3C ha rilasciato la <a href="http://www.w3.org/TR/2008/WD-html5-20080122/"  target="_blank"   style="color: #4fc84f; font-weight: bold; text-decoration: underline;color: #4fc84f; font-weight: bold; text-decoration: underline;">Working Draft di HTML 5</a>.</p>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">La prima cosa che salta all&#8217;occhio (non ho ancora letto tutto il draft, e non penso lo leggerò mai, è lunghissimo!) è che finalmente hanno unificato la numerazione delle varie componenti. Quindi avremo HTML5, XHTML5 e DOM5 (invece di HTML 4.01, XHTML1.0, DOM3, ecc.).</p>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Vi lascio il piacere della scoperta per vedere tutte le novità introdotte, ma se volete una scorciatoia, c&#8217;è un anche <a href="http://www.w3.org/TR/2008/WD-html5-diff-20080122/"  target="_blank"   style="color: #4fc84f; font-weight: bold; text-decoration: underline;color: #4fc84f; font-weight: bold; text-decoration: underline;">draft per le differenze con HTML4</a>. Speriamo solo che questa draft rimanga tale il meno possibile. O almeno non tanto quanto sono rimaste draft quelle di <a href="http://www.w3.org/Style/CSS/current-work"  target="_blank"   style="color: #4fc84f; font-weight: bold; text-decoration: underline;color: #4fc84f; font-weight: bold; text-decoration: underline;">CSS3</a>.</p>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Ma la cosa più interessante è che, pur non essendo ancora uno standard, HTML5 inizia già ad essere supportato da alcuni browser, e purtroppo la Microsoft ci mette lo zampino.</p>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Per farla breve: si sono accorti che IE7 non rispetta gli standard benissimo, mentre vogliono rispettarli di più con IE8. Il problema è che molti utenti stanno scrivendo pagine per IE7 pensando che rispetti gli standard quando si specifica un DocType corretto. Una cosa del genere è già presente in IE6, che abilita lo &#8220;standards mode&#8221; specificando un DocType corretto, mentre va in &#8220;quirks mode&#8221; se il DocType è errato o mancante. Ma non rispettando totalmente gli standard, questo modo viene chiamato &#8220;almost standards mode&#8221;. IE7 li rispetta un po&#8217; di più&#8230; possiamo definirlo &#8220;a little bit more almost standards mode&#8221;?. IE8 quindi avrà tre metodi di rendering delle pagine: quirks mode, almost standards mode, standards mode. Il problema è quindi come distinguere tra IE7 e IE8, che usano lo standards mode in modo diverso. Con un meta-tag, naturalmente!</p>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Devo ancora raccapezzarmici, ma la mia opinione è che sia l&#8217;ennesima porcheria. In pratica verrebbe introdotto un meta-tag che specifica quale versione del browser viene richiesta per visualizzare una certa pagina:</p>
<pre  style="font-family: 'DejaVu Sans Mono' Consola Inconsolata fixed; margin: 1em; padding: 0.5em; border: 1px solid #9f9;font-family: 'DejaVu Sans Mono' Consola Inconsolata fixed; margin: 1em; padding: 0.5em; border: 1px solid #9f9;">&lt;meta http-equiv="X-UA-Compatible" content="IE=8;FF=3;OtherUA=4"&gt;</pre>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Quindi se io scrivo un nuovo motore di rendering delle pagine devo andare a controllare cosa la gente ha messo (sempre che lo metta) in OtherUA, almeno finché il mio motore non sarà abbastanza famoso da meritare un tag apposito (notare che lì sopra manca Webkit, motore di Konqueror e Safari), oppure affidarmi alla compatibilità del mio motore con Firefox, e usare le sue versioni. E se l&#8217;utente non lo specifica?</p>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Gli sviluppatori sono già abituati a usare un subset di HTML e CSS o a fare salti mortali (fortunatamente alleviati dalla presenza di commenti condizionali in IE) per far funzionare i siti su IE6, IE7, Firefox e Safari. Quelli che non lo facevano prima sicuramente non si ricorderanno nemmeno che esiste questo tag! Non era più semplice rispettare gli standard in IE8 e forzare l&#8217;upgrade appena esce, come stanno facendo con IE7? Con IE9 e Firefox4 dovranno tutti implementare almeno 4 o 5 modalità di rendering? I nostri browser supereranno finalmente la soglia dei 2 GiB occupati in memoria appena avviati?</p>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Ai posteri l&#8217;ardua sentenza, diceva il saggio.</p>
]]></content:encoded>
			<wfw:commentRss>http://alex.amiran.it/20080124/html5-pronta-la-working-draft/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alternative al CAPTCHA</title>
		<link>http://alex.amiran.it/20080117/alternative-al-captcha/</link>
		<comments>http://alex.amiran.it/20080117/alternative-al-captcha/#comments</comments>
		<pubDate>Thu, 17 Jan 2008 18:00:02 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://alex.amiran.it/20080117/alternative-al-captcha/</guid>
		<description><![CDATA[Lo SPAM imperversa sempre di più, e sempre più spesso gli spammer sfruttano i form dei siti. Ormai la percentuale di SPAM nelle mail ricevute ha raggiunto il 90% e gli spammer, non contenti, da alcuni anni sfruttano anche i Blog e i CMS per impestare la rete con le loro schifezze. Per quanto riguarda [...]]]></description>
			<content:encoded><![CDATA[<p class="caption"     style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;font-style: italic; padding: 0 1em;font-style: italic; padding: 0 1em;">Lo SPAM imperversa sempre di più, e sempre più spesso gli spammer sfruttano i form dei siti.</p>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Ormai la percentuale di SPAM nelle mail ricevute ha raggiunto il 90% e gli spammer, non contenti, da alcuni anni sfruttano anche i Blog e i CMS per impestare la rete con le loro schifezze.</p>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Per quanto riguarda le mail è un continuo inseguimento: blacklist, filtri bayesiani, OCR sulle immagini, ecc. Ma anche i siti hanno dovuto rincorrere le continue innovazioni da parte degli spammer.</p>
<h2  style="font-size: 1.4em; font-weight: bold; line-height: 1.5em; font-family: 'DejaVu Serif' Tahoma 'Times New Roman' times serif;font-size: 1.4em; font-weight: bold; line-height: 1.5em; font-family: 'DejaVu Serif' Tahoma 'Times New Roman' times serif;">CAPTCHA</h2>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;"><img hspace="1em"  vspace="1em"  align="right"  src="http://alex.amiran.it/wp-content/uploads/2008/01/captcha.png"  alt="CAPTCHA"  class="float_right"  height="91"  width="200"     style="border: 0;display: block; border: 0; float: right; clear: right; margin: 1em 0 1em 1em; padding: 5px;"/>Sono quindi nati i CAPTCHA di vario tipo, che si basano sulla (presunta) incapacità dei bot di spam di &#8220;leggere&#8221; il testo contenuto in un&#8217;immagine. Il sistema ha funzionato per un po&#8217;, finché i sistemi si sono evoluti e hanno iniziato a usare tecniche di OCR sui CAPTCHA stessi, facendone perdere efficacia: sono diventati via via più difficili da decodificare, ma anche per l&#8217;occhio umano oltre che per i bot.</p>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Ne sono nati quindi nuovi tipi: dal CAPTCHA matematico (che potete ammirare nel form dei commenti di questo Blog <img src="http://alex.amiran.it/wp-includes/images/smilies/icon_smile.gif"  alt=":)"  class="wp-smiley"   style="border: 0;"/>  ) a quello &#8220;sexy&#8221;, che si basa sulla capacità di una persona di distinguere un rappresentante bello del sesso opposto da uno brutto.</p>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Purtroppo hanno tutti lo stesso problema: una persona con problemi di vista o qualcuno che naviga con browser testuali non li può utilizzare. Sono allora nati gli aiuti sonori ai CAPTCHA (che &#8220;pronunciano&#8221; le lettere nel CAPTCHA, per esempio), ma si scontrano col problema dell&#8217;audio sui siti: se l&#8217;utente sta ascoltando musica in sottofondo deve spegnerla, ascoltare il CAPTCHA, compilare il form, quindi riaccendere la musica</p>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">In un periodo in cui bisogna rendere la vita più semplice possibile all&#8217;utente, tutte queste complicazioni sono anacronistiche, e allontanano gli utenti.</p>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Vediamo quindi alcune alternative, magari non perfette, ma con una buona percentuale di sicurezza.<span id="more-69" ></span></p>
<h2  style="font-size: 1.4em; font-weight: bold; line-height: 1.5em; font-family: 'DejaVu Serif' Tahoma 'Times New Roman' times serif;font-size: 1.4em; font-weight: bold; line-height: 1.5em; font-family: 'DejaVu Serif' Tahoma 'Times New Roman' times serif;">Il campo nascosto nel form</h2>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Una prima tecnica consiste nell&#8217;aggiungere un campo di testo normale in un form, quindi di nasconderlo tramite CSS. Questa tecnica si basa sul presupposto che i bot, per sfruttare il maggior numero possibile di form, non guardano quali campi compilare, e invece li compilano tutti.</p>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Si può quindi usare un codice come questo:</p>
<pre  style="font-family: 'DejaVu Sans Mono' Consola Inconsolata fixed; margin: 1em; padding: 0.5em; border: 1px solid #9f9;font-family: 'DejaVu Sans Mono' Consola Inconsolata fixed; margin: 1em; padding: 0.5em; border: 1px solid #9f9;">&lt;style&gt;
 .nascosto { display: none; }
&lt;/style&gt;

...

&lt;form ...&gt;
 ...
 &lt;div class="nascosto"&gt;
  &lt;label for="codicesegreto"&gt;Non scrivere nulla in questo campo&lt;/label&gt;
  &lt;input type="text" name="codicesegreto" /&gt;
 &lt;/div&gt;
 ...
&lt;/form&gt;</pre>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">In questo modo i browser che supportano i CSS nasconderanno l&#8217;intero div (è un esempio, naturalmente. Va adattato a come stilizzate i vostri form) e l&#8217;utente non vedrà nemmeno il campo. I browser che non supportano i CSS lo mostreranno, ma con il messaggio all&#8217;utente di non compilarlo. I bot non avranno idea di cosa si trovano davanti e lo compileranno senza pensarci (pensare? un bot??).</p>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Lato server basta controllare che il campo &#8220;codicesegreto&#8221; del form non contenga nulla. Per esempio, in PHP:</p>
<pre  style="font-family: 'DejaVu Sans Mono' Consola Inconsolata fixed; margin: 1em; padding: 0.5em; border: 1px solid #9f9;font-family: 'DejaVu Sans Mono' Consola Inconsolata fixed; margin: 1em; padding: 0.5em; border: 1px solid #9f9;">&lt;?php
 if (isset($_POST["codicesegreto"]) &amp;&amp; $ POST["codicesegreto"] != "") {
  print("Ciao, bot! PRRRRRRRRRRR");
  exit;
 }
 // Normale processo di verifica degli altri campi
?&gt;</pre>
<h2  style="font-size: 1.4em; font-weight: bold; line-height: 1.5em; font-family: 'DejaVu Serif' Tahoma 'Times New Roman' times serif;font-size: 1.4em; font-weight: bold; line-height: 1.5em; font-family: 'DejaVu Serif' Tahoma 'Times New Roman' times serif;">Il codice nascosto nel form</h2>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Un&#8217;altra tecnica consiste nel nascondere un codice segreto nel form, e modificarlo via Javascript appena il form viene visualizzato:</p>
<pre  style="font-family: 'DejaVu Sans Mono' Consola Inconsolata fixed; margin: 1em; padding: 0.5em; border: 1px solid #9f9;font-family: 'DejaVu Sans Mono' Consola Inconsolata fixed; margin: 1em; padding: 0.5em; border: 1px solid #9f9;">&lt;form...&gt;
 ...
 &lt;input type="hidden" id="codice" name="codicesegreto" value="1000" /&gt;
 &lt;script type="text/javascript"&gt;
  &lt;!--
   document.getElementById("codice").value = "mille";
  --&gt;
 &lt;/script&gt;
 ...
&lt;/form&gt;</pre>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Questa tecnica si basa sul presupposto che il bot non esegua il codice javascript contenuto nel form. I browser che supportano Javascript avranno quindi codicesegreto=&#8221;mille&#8221;, mentre quelli che non lo supportano avranno codicesegreto=&#8221;1000&#8243;. I valori, naturalmente, sono di pura fantasia, potete mettere quello che volete, anche valori casuali calcolati server-side prima di presentare il form, e salvati in sessione per una verifica successiva.</p>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Lato server, al ricevimento dei dati dal form, basta  appunto controllare cosa contiene quel campo. Se contiene &#8220;mille&#8221; si procede normalmente con l&#8217;analisi degli altri campi del form. Se contiene &#8220;1000&#8243; si può presentare all&#8217;utente un nuovo form, chiedendogli solo &#8220;Sei davvero una persona o sei un bot?&#8221; con un tasto submit: &#8220;Sono una persona&#8221;. Solo le persone (che hanno disattivato javascript nel browser) dovrebbero clickare su questo nuovo form, e quindi procedere al submit del form.</p>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">In PHP si può fare una cosa del genere:</p>
<pre  style="font-family: 'DejaVu Sans Mono' Consola Inconsolata fixed; margin: 1em; padding: 0.5em; border: 1px solid #9f9;font-family: 'DejaVu Sans Mono' Consola Inconsolata fixed; margin: 1em; padding: 0.5em; border: 1px solid #9f9;">&lt;?php
 session_start();

 if (isset($_POST["codicesegreto"]) &amp;&amp; $_POST["codicesegreto"] != "mille") {

  $_SESSION["datiform"] = $_POST;
  ?&gt;
   &lt;form ...&gt;
    &lt;label&gt;Sei davvero una persona o un bot?&lt;/label&gt;
    &lt;input type="submit" name="chidicicheiosia" value="Sono una persona!" /&gt;
   &lt;/form&gt;
  &lt;?php
  exit;

 } else {
  // Normale procedura di controllo dei campi e di submit del form
 }
?&gt;</pre>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Questo &#8220;giro&#8221; è un po&#8217; più oneroso per gli utenti che disabilitano Javascript, ma non gli preclude la possibilità di scrivere commenti o comunque di compilare il form. Se Javascript è attivo la procedura è totalmente automatica. Naturalmente bisogna predisporre anche la pagina aggiuntiva per il controllo della conferma, oppure modificare la logica di questa in modo da gestire sia il submit diretto che quello con conferma.</p>
<h2  style="font-size: 1.4em; font-weight: bold; line-height: 1.5em; font-family: 'DejaVu Serif' Tahoma 'Times New Roman' times serif;font-size: 1.4em; font-weight: bold; line-height: 1.5em; font-family: 'DejaVu Serif' Tahoma 'Times New Roman' times serif;">Vantaggi e svantaggi</h2>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Il vantaggio più evidente è la semplicità, sia per il programmatore che per l&#8217;utente.</p>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">L&#8217;utente non deve compilare campi aggiuntivi, non deve cercare di interpretare strane immagini deformate o fare calcoli matematici. Tutte operazioni che, spesso, non capisce nemmeno a cosa possano servire.</p>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Il programmatore non dovrà più fare i salti mortali per distorcere il testo in modi astrusi, complicarsi la vita con le libgd, o cercare font non &#8220;OCR-izzabili&#8221;. Non dovrà nemmeno fare funzioni aggiuntive per rigenerare l&#8217;immagine al volo (via AJAX, magari) nel caso l&#8217;altra sia illeggibile. Il codice, sia HTML che PHP, è molto più pulito.</p>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Inoltre il traffico sulla rete è molto ridotto: non c&#8217;è un&#8217;immagine che comunque occupa una decina di KiB, e c&#8217;è anche una richiesta HTTP in meno. In generale il sito è più leggero.</p>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Altro vantaggio è che questi due sistemi possono essere combinati per raddoppiare l&#8217;efficacia.</p>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Lo svantaggio è totalmente dipendente dall&#8217;intelligenza dei bot. Se i bot riusciranno ad adeguarsi a queste tecniche, queste perderanno d&#8217;efficacia. Per farlo, naturalmente, dovranno imparare ad interpretare sia i CSS che il Javascript, ma basterebbe adeguare un po&#8217; gli stili e il codice JS facendo le cose in modo un po&#8217; più complesso (richiamando funzioni o metodi di oggetti in JS, o usando selettori in CSS). A quel punto dovrebbero diventare veri e propri browser. Non escludo possa succedere, ma nel frattempo si potranno inventare nuove soluzioni.</p>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Per ora dovrebbero essere più che sufficienti.</p>
]]></content:encoded>
			<wfw:commentRss>http://alex.amiran.it/20080117/alternative-al-captcha/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Il giorno che il mondo ebbe termine&#8230; IE8 e Acid test</title>
		<link>http://alex.amiran.it/20071220/il-giorno-che-il-mondo-ebbe-termine-ie8-e-acid-test/</link>
		<comments>http://alex.amiran.it/20071220/il-giorno-che-il-mondo-ebbe-termine-ie8-e-acid-test/#comments</comments>
		<pubDate>Thu, 20 Dec 2007 18:22:28 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://alex.amiran.it/20071220/il-giorno-che-il-mondo-ebbe-termine-ie8-e-acid-test/</guid>
		<description><![CDATA[La notizia del giorno, che sta rimbalzando tra i siti, è che una beta interna di Internet Explorer 8 ha superato l&#8217;Acid Test 2! Magari a molti questo non dice niente, ma per chi fa siti web la notizia è qualcosa che scuote le fondamenta stesse del loro lavoro. Pochissimi browser superano completamente l&#8217;Acid2, e [...]]]></description>
			<content:encoded><![CDATA[<p class="caption"     style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;font-style: italic; padding: 0 1em;font-style: italic; padding: 0 1em;">La notizia del giorno, che sta rimbalzando tra i siti, è che una beta interna di <a href="http://blogs.msdn.com/ie/archive/2007/12/19/internet-explorer-8-and-acid2-a-milestone.aspx"  target="_blank"   style="color: #4fc84f; font-weight: bold; text-decoration: underline;color: #4fc84f; font-weight: bold; text-decoration: underline;">Internet Explorer 8 ha superato l&#8217;Acid Test 2</a>!</p>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Magari a molti questo non dice niente, ma per chi fa siti web la notizia è qualcosa che scuote le fondamenta stesse del loro lavoro. Pochissimi browser superano completamente l&#8217;<a href="http://www.webstandards.org/action/acid2/"  target="_blank"   style="color: #4fc84f; font-weight: bold; text-decoration: underline;color: #4fc84f; font-weight: bold; text-decoration: underline;">Acid2</a>, e Firefox NON è tra questi (lo sarà la versione 3, ora in beta). Lo superano Safari, Konqueror e Opera.</p>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Perché è così importante? L&#8217;Acid2 è un test che mette alla prova il supporto ai CSS2.1 del browser. Se il supporto è implementato correttamente, il test riesce (e si vede una faccia sotto effetto di acidi <img src="http://alex.amiran.it/wp-includes/images/smilies/icon_smile.gif"  alt=":)"  class="wp-smiley"   style="border: 0;"/>  ), mentre se ci sono degli errori di implementazione, la faccia sarà dall&#8217;irriconoscibile al rovinato. IE6 (e anche IE7) mostra solo un&#8217;accozzaglia di righe rosse, gialle e di pallini (<a href="http://sanduskycomputers.com/reviews/acid2tests.php"  target="_blank"   style="color: #4fc84f; font-weight: bold; text-decoration: underline;color: #4fc84f; font-weight: bold; text-decoration: underline;">qui una lista di risultati</a>, anche se abbastanza vecchia).</p>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Il pieno supporto all&#8217;Acid2 significa che serviranno molti meno salti mortali nella definizione dei CSS, per far apparire un sito come lo si vuole. E significa anche che si possono usare attributi CSS che finora erano preclusi.</p>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Naturalmente non è tutto Acid2. Le caratteristiche messe alla prova sono solo una (piccola) parte delle specifiche CSS2.1, e rimangono ancora molte cose da sistemare anche al di fuori dei CSS (il motore Javascript, per esempio), ma questo significa semplicemente che la Microsoft, finalmente, si è resa conto che sta perdendo fette di utenti sempre più grosse, e che quindi deve darsi da fare per aggiornare il suo browser: la concorrenza fa sempre bene al mercato.</p>
<p  style="margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;margin: 1em 2em; line-height: 1.6em; font-size: 1em; font-family: 'DejaVu Sans' Verdana sans-serif; text-align: justify;">Speriamo bene anche per il resto, e intanto aspettiamo che la gente pass, se non a <a href="http://www.mozilla-europe.org/it/products/firefox/"  target="_blank"   style="color: #4fc84f; font-weight: bold; text-decoration: underline;color: #4fc84f; font-weight: bold; text-decoration: underline;">Firefox</a>, almeno a <a href="http://www.microsoft.com/windows/downloads/ie/getitnow.mspx"  target="_blank"   style="color: #4fc84f; font-weight: bold; text-decoration: underline;color: #4fc84f; font-weight: bold; text-decoration: underline;">Internet Explorer 7</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://alex.amiran.it/20071220/il-giorno-che-il-mondo-ebbe-termine-ie8-e-acid-test/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

