<?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>Focus the Web Tech Blog &#187; authorization</title>
	<atom:link href="http://tech.focustheweb.com/tag/authorization/feed/" rel="self" type="application/rss+xml" />
	<link>http://tech.focustheweb.com</link>
	<description>Programmazione, web, internet, howtos, etc.</description>
	<lastBuildDate>Sat, 24 Apr 2010 09:16:53 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Autenticazione, Autorizzazione e Controllo degli Accessi in Apache HTTP Server</title>
		<link>http://tech.focustheweb.com/programmazione/autenticazione-autorizzazione-e-controllo-degli-accessi-in-apache-http-server/</link>
		<comments>http://tech.focustheweb.com/programmazione/autenticazione-autorizzazione-e-controllo-degli-accessi-in-apache-http-server/#comments</comments>
		<pubDate>Sat, 12 Dec 2009 16:47:58 +0000</pubDate>
		<dc:creator>Giovanni Cappellotto</dc:creator>
				<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[authorization]]></category>
		<category><![CDATA[htpasswd]]></category>

		<guid isPermaLink="false">http://tech.focustheweb.com/?p=256</guid>
		<description><![CDATA[







Per controllare l&#8217;accesso ad una cartella del nostro HTTP server e ai documenti in essa contenuti possiamo usare un metodo di autenticazione messo a disposizione da Apache.
In nostro aiuto vengono due moduli: mod_auth e mod_auth_digest.
Il primo è supportato dalla maggior parte dei browser, ma ha lo svantaggio di trasmettere la password di autenticazione in chiaro [...]]]></description>
			<content:encoded><![CDATA[<p>
<!-- Begin Google Adsense code -->
<script type="text/javascript"><!--
google_ad_client = "pub-7194529311513014";
/* 468x60, creato 21/11/09 */
google_ad_slot = "8123373738";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!-- End Google Adsense code -->
<br />
Per <em>controllare l&#8217;accesso</em> ad una cartella del nostro HTTP server e ai documenti in essa contenuti possiamo usare un <em>metodo di autenticazione</em> messo a disposizione da Apache.</p>
<p>In nostro aiuto vengono due moduli: <code>mod_auth</code> e <code>mod_auth_digest</code>.</p>
<p>Il primo è supportato dalla maggior parte dei browser, ma ha lo svantaggio di trasmettere la password di autenticazione in chiaro nella rete ed è per questo sconsigliato per proteggere documenti contenti dati sensibili.</p>
<p>Il secondo metodo è più sicuro, ma viene supportato da un numero inferiore di clients rispetto a <code>mod_auth</code>.<br />
<span id="more-256"></span><br />
Ecco come predisporre una cartella condivisa nel web al controllo degli accessi:</p>
<ol>
<li>creare un file contenente le informazioni per l&#8217;autenticazione (nome utente e password) degli utenti autorizzati alla visualizzazione dei documenti nella cartella protetta con l&#8217;utility di Apache <code>htpasswd</code>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">htpasswd <span style="color: #660033;">-c</span> <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>john<span style="color: #000000; font-weight: bold;">/</span>passwords john</pre></div></div>

<p>Questo comando crea il file passwords nella cartella <code>/home/john</code> contenente la password per l&#8217;utente <code>john</code>.<br />
<strong>Nota:</strong> è consigliato tenere il file contenente le passwords in una cartella non accessibile via web<br />
All&#8217;esecuzione del comando ci viene richiesto di immettere una password e di confermarla:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">New password: mypassword
Re-type new password: mypassword
Adding password for <span style="color: #00007f;">user</span> john</pre></div></div>

</li>
<li>aggiungiamo le direttive

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #00007f;">AuthType</span> Basic
<span style="color: #00007f;">AuthName</span> <span style="color: #7f007f;">&quot;Restricted Files&quot;</span>
<span style="color: #00007f;">AuthUserFile</span> /home/john/passwords
<span style="color: #00007f;">Require</span> <span style="color: #00007f;">user</span> john</pre></div></div>

<p>nel file di configurazione dell&#8217;host all&#8217;interno di un blocco <code>&lt;Directory /var/www/secret&gt;</code> o in un file <code>.htaccess</code> nella cartella da proteggere (ad esempio <code>/var/www/secret/.htaccess</code>)<br />
<strong>Nota:</strong> per poter utilizzare il file <code>.htaccess</code> le impostazioni globali devono permettere l&#8217;overriding dell&#8217;opzione <code>AuthConfig</code> attraverso la direttiva</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #00007f;">AllowOverride</span> AuthConfig</pre></div></div>

</li>
<li>ricarichiamo la configurazione del server HTTP per rendere attive le nuove impostazioni con il comando

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>apache2 reload</pre></div></div>

<p>Nota: questo comando funziona per distribuzioni Linux basate su Debian con Apache HTTP Server versione 2</li>
</ol>
<p>Ci sono molte altre cose da dire sull&#8217;autenticazione e sull&#8217;autorizzazione, ma questo articolo può bastare come introduzione.</p>
<p>Se avete bisogno di maggiori informazioni potrete consultare <a title="Authentication, Authorization and Access Control - Apache 2 HTTP Server" href="http://httpd.apache.org/docs/2.0/howto/auth.html">Authentication, Authorization and Access Control &#8211; Apache 2 HTTP Server</a> o fare commenti chiedendomi i chiarimenti necessari.</p>
]]></content:encoded>
			<wfw:commentRss>http://tech.focustheweb.com/programmazione/autenticazione-autorizzazione-e-controllo-degli-accessi-in-apache-http-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
