<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Commenti a: Come vietare l&#8217;Hotlinking?</title>
	<atom:link href="http://blog.webxall.net/come-vietare-hotlinking/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.webxall.net/come-vietare-hotlinking</link>
	<description>Una guida all&#039;ottimizzazione e al posizionamento nei motori di ricerca</description>
	<lastBuildDate>Wed, 08 Oct 2008 16:54:34 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>Di: Angelo Palma</title>
		<link>http://blog.webxall.net/come-vietare-hotlinking/comment-page-1#comment-8</link>
		<dc:creator>Angelo Palma</dc:creator>
		<pubDate>Sun, 31 Aug 2008 13:16:48 +0000</pubDate>
		<guid isPermaLink="false">http://blog.webxall.net/?p=61#comment-8</guid>
		<description>&lt;blockquote&gt;ho notato che gli indirizzi url li hai scritti cosi:
http://([-a-z0-9]+\.)?miodominio\.it [NC]

io invece li scrivo cosi:
http://(www\.)?miodominio.net/.* [NC]
http://(www\.)?miodominio.net*$ [NC]&lt;/blockquote&gt;



--------------------------------------------------------------

Ci sono diversi modi di far interpretare il comando al server. In base alla regola potremo quindi usare un semplice www, oppure delle espresioni regolari che facciano comprendere sia le lettere dalla A alla Z che i numeri dallo 0 al 9.

Per quanto riguarda il tuo caso é molto piú semplice non usare nulla. Vedi il seguente esempio di ammissione per un Hotlink da un sito amico:

RewriteCond %{HTTP_REFERER} !dominioesterno\.it [NC]
RewriteCond %{HTTP_REFERER} !dominio2esterno\.it [NC]

senza http ne www, come vedi.

Dai un occhiata alla documentazione ufficiale del mod_rewrite qui:
http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html

Buona domenica.


Angelo Palma</description>
		<content:encoded><![CDATA[<blockquote><p>ho notato che gli indirizzi url li hai scritti cosi:<br />
<a href="http://(-a-z0-9+" rel="nofollow">http://(-a-z0-9+</a>\.)?miodominio\.it [NC]</p>
<p>io invece li scrivo cosi:<br />
<a href="http://(www" rel="nofollow">http://(www</a>\.)?miodominio.net/.* [NC]<br />
<a href="http://(www" rel="nofollow">http://(www</a>\.)?miodominio.net*$ [NC]</p></blockquote>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Ci sono diversi modi di far interpretare il comando al server. In base alla regola potremo quindi usare un semplice www, oppure delle espresioni regolari che facciano comprendere sia le lettere dalla A alla Z che i numeri dallo 0 al 9.</p>
<p>Per quanto riguarda il tuo caso é molto piú semplice non usare nulla. Vedi il seguente esempio di ammissione per un Hotlink da un sito amico:</p>
<p>RewriteCond %{HTTP_REFERER} !dominioesterno\.it [NC]<br />
RewriteCond %{HTTP_REFERER} !dominio2esterno\.it [NC]</p>
<p>senza http ne www, come vedi.</p>
<p>Dai un occhiata alla documentazione ufficiale del mod_rewrite qui:<br />
<a href="http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html" rel="nofollow">http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html</a></p>
<p>Buona domenica.</p>
<p>Angelo Palma</p>
]]></content:encoded>
	</item>
	<item>
		<title>Di: guido</title>
		<link>http://blog.webxall.net/come-vietare-hotlinking/comment-page-1#comment-7</link>
		<dc:creator>guido</dc:creator>
		<pubDate>Sun, 31 Aug 2008 07:38:20 +0000</pubDate>
		<guid isPermaLink="false">http://blog.webxall.net/?p=61#comment-7</guid>
		<description>Perfetto Angelo, grazie.
ho utilizzato il secondo metodo, quello che fa vedere una immagine alternativa. Prossimamente provero&#039; anche il metodo della pagina php.

ti dicevo che a me l&#039;immagine alternativa non funzionava. ora funziona.

invece della riga:
RewriteRule .*\.(gif&#124;jpg&#124;GIF&#124;JPG)$ images/nohotlink.gif [R,NC,L]

ho messo la riga
RewriteRule \.(jpe?g&#124;gif&#124;bmp&#124;png)$ images/nohotlink.gif  [L]

ho sostituito in pratica [R,NC,L] con [L] ed ora funziona

dimenticavo: un altro argomento interessante sono le eccezioni, in quanto da determinati siti, e non solo motori di ricerca, si potrebbe volere un hotlink

io in questo caso ho messo le righe:

RewriteCond %{HTTP_REFERER} !^http://(www\.)?sitoesterno.it/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?sitoesterno.it*$ [NC]

cosa ne dici?

un&#039;ultima domanda:

ho notato che gli indirizzi url li hai scritti cosi:
http://([-a-z0-9]+\.)?miodominio\.it [NC]

io invece li scrivo cosi:
http://(www\.)?miodominio.net/.* [NC]
http://(www\.)?miodominio.net*$ [NC]

praticamente nelle mie righe metto tra parentesi www e te le variabili di numeri e lettere (in altri esempi ho visto anche le lettere maiuscole) e non metto gli slash o li metto al posto sbagliato. ed inoltre ho la variante del dominio 2 volte, una con il segno del $. e&#039; indifferente?

il file .htaccess lo modifico quando trovo qualcosa di interessante anche per i miei siti, pero&#039; copio ed incollo il codice e lo modifico, senza sapere cosa vogliano dire le variabili, la tua spiegazione + sopra della &quot;L&quot; mi e&#039; stata utile</description>
		<content:encoded><![CDATA[<p>Perfetto Angelo, grazie.<br />
ho utilizzato il secondo metodo, quello che fa vedere una immagine alternativa. Prossimamente provero&#8217; anche il metodo della pagina php.</p>
<p>ti dicevo che a me l&#8217;immagine alternativa non funzionava. ora funziona.</p>
<p>invece della riga:<br />
RewriteRule .*\.(gif|jpg|GIF|JPG)$ images/nohotlink.gif [R,NC,L]</p>
<p>ho messo la riga<br />
RewriteRule \.(jpe?g|gif|bmp|png)$ images/nohotlink.gif  [L]</p>
<p>ho sostituito in pratica [R,NC,L] con [L] ed ora funziona</p>
<p>dimenticavo: un altro argomento interessante sono le eccezioni, in quanto da determinati siti, e non solo motori di ricerca, si potrebbe volere un hotlink</p>
<p>io in questo caso ho messo le righe:</p>
<p>RewriteCond %{HTTP_REFERER} !^http://(www\.)?sitoesterno.it/.*$ [NC]<br />
RewriteCond %{HTTP_REFERER} !^http://(www\.)?sitoesterno.it*$ [NC]</p>
<p>cosa ne dici?</p>
<p>un&#8217;ultima domanda:</p>
<p>ho notato che gli indirizzi url li hai scritti cosi:<br />
<a href="http://(-a-z0-9+" rel="nofollow">http://(-a-z0-9+</a>\.)?miodominio\.it [NC]</p>
<p>io invece li scrivo cosi:<br />
<a href="http://(www" rel="nofollow">http://(www</a>\.)?miodominio.net/.* [NC]<br />
<a href="http://(www" rel="nofollow">http://(www</a>\.)?miodominio.net*$ [NC]</p>
<p>praticamente nelle mie righe metto tra parentesi www e te le variabili di numeri e lettere (in altri esempi ho visto anche le lettere maiuscole) e non metto gli slash o li metto al posto sbagliato. ed inoltre ho la variante del dominio 2 volte, una con il segno del $. e&#8217; indifferente?</p>
<p>il file .htaccess lo modifico quando trovo qualcosa di interessante anche per i miei siti, pero&#8217; copio ed incollo il codice e lo modifico, senza sapere cosa vogliano dire le variabili, la tua spiegazione + sopra della &#8220;L&#8221; mi e&#8217; stata utile</p>
]]></content:encoded>
	</item>
	<item>
		<title>Di: Angelo Palma</title>
		<link>http://blog.webxall.net/come-vietare-hotlinking/comment-page-1#comment-6</link>
		<dc:creator>Angelo Palma</dc:creator>
		<pubDate>Sat, 30 Aug 2008 17:50:46 +0000</pubDate>
		<guid isPermaLink="false">http://blog.webxall.net/?p=61#comment-6</guid>
		<description>Scusa, dimenticavo di aggiungere che se vuoi far apparire un&#039;altra foto al posto di quella Hotlinkata (in questo caso peró non risparmi banda) devi modificare l&#039;ultima riga del codice inserendo questa al suo posto.

RewriteRule \.(jpe?g&#124;gif&#124;bmp&#124;png)$ images/nohotlink.gif [L]

Dove &quot;nohotlink.gif&quot; é l&#039;immagine che vuoi far apparire al posto dell&#039;altra.</description>
		<content:encoded><![CDATA[<p>Scusa, dimenticavo di aggiungere che se vuoi far apparire un&#8217;altra foto al posto di quella Hotlinkata (in questo caso peró non risparmi banda) devi modificare l&#8217;ultima riga del codice inserendo questa al suo posto.</p>
<p>RewriteRule \.(jpe?g|gif|bmp|png)$ images/nohotlink.gif [L]</p>
<p>Dove &#8220;nohotlink.gif&#8221; é l&#8217;immagine che vuoi far apparire al posto dell&#8217;altra.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Di: Angelo Palma</title>
		<link>http://blog.webxall.net/come-vietare-hotlinking/comment-page-1#comment-5</link>
		<dc:creator>Angelo Palma</dc:creator>
		<pubDate>Sat, 30 Aug 2008 17:12:42 +0000</pubDate>
		<guid isPermaLink="false">http://blog.webxall.net/?p=61#comment-5</guid>
		<description>Ciao Guido,

la L di Last Rule chiude i Rewrite Rule alla fine di essi. Il redirect 301 non é un RewriteRule. Puoi lasciarlo dove sta o metterlo dove ti pare.

In realtá il server nel tuo caso, comprende la L come la fine della condizione di ogni rewrite rule, e quindi anche in questo caso non é un errore. Infatti per quella condizione non ci sono altri rewrite da fare.

Con un piccolo trucco Puoi far apparire la tua foto con il link al tuo sito sotto di essa, solo se l&#039;indirizzo dell&#039;immagine viene inserito dirtettamente nel browser. 
Per far questo dovresti creare un piccolo file che venga richiamato in quei casi. 

Il file  che chiameremo nocopy.php lo inseriremo nella root come un semplice file php.

&lt;?php
  header(&quot;Content-type: text/html&quot;);
  header(&quot;Expires: Tue, 26 Jul 2030 05:00:00 GMT&quot;);
  header(&quot;Cache-Control: no-store, no-cache, must-revalidate&quot;);
  header(&quot;Cache-Control: post-check=0, pre-check=0&quot;,
          false);
  header(&quot;Pragma: no-cache&quot;);
  $pic = strip_tags( $_GET[&#039;pic&#039;] );
  if ( ! $pic ) {
    die(&quot;Non ci sono immagini!&quot;);
  }
?&gt;
&lt; !DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot;
  &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;&lt; ?php echo($pic); ?&gt;&lt;/title&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=iso-8859-1&quot;&gt; &lt;/meta&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;p&gt;
  &lt;img src=&quot;images/&lt;?php echo($pic); ?/&gt;&quot; alt=&quot;Image&quot;&gt;
&lt;/p&gt;
&lt;p&gt;
  Immagine del sito
  &lt;a href=&quot;http://www.tuodominio.it/&quot; rel=&quot;nofollow&quot;&gt; iltuodominio.it &lt;/a&gt;.
&lt;/p&gt;
&lt;/body&gt;
&lt;/html&lt;

--------------------------------------------------


Nel file .htaccess inseriremo poi i seguenti comandi:


RewriteEngine on

RewriteCond %{REQUEST_FILENAME} .*jpg$&#124;.*gif$&#124;.*png$ [NC]
RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !tuodominio\.it [NC] 
RewriteCond %{HTTP_REFERER} !google\. [NC] 
RewriteCond %{HTTP_REFERER} !search\?q=cache [NC]

RewriteRule (.*) /nocopy.php?pic=$1 


--------------------------------------------------------


Se qualcuno quindi tenterá di fare un Hotlink, l&#039;apertura dell&#039;immagine nel browser dell&#039;utente fallirá. 
Chi invece richiamerá direttamente l&#039;immagine nel suo browser troverá il link alla tua pagina.

Una serie di possibilitá su come proteggersi dagli Hotlink compreso il codice appena descritto puoi trovarla qui: http://www.alistapart.com/articles/hotlinking/


Se seguirai alla lettera le operazioni, il codice descritto dovrebbe funzionare.

Qui potrai testare se la tua protezione contro gli Hotlink funziona: 
http://altlab.com/hotlinkchecker.php

Ciao

Angelo Palma</description>
		<content:encoded><![CDATA[<p>Ciao Guido,</p>
<p>la L di Last Rule chiude i Rewrite Rule alla fine di essi. Il redirect 301 non é un RewriteRule. Puoi lasciarlo dove sta o metterlo dove ti pare.</p>
<p>In realtá il server nel tuo caso, comprende la L come la fine della condizione di ogni rewrite rule, e quindi anche in questo caso non é un errore. Infatti per quella condizione non ci sono altri rewrite da fare.</p>
<p>Con un piccolo trucco Puoi far apparire la tua foto con il link al tuo sito sotto di essa, solo se l&#8217;indirizzo dell&#8217;immagine viene inserito dirtettamente nel browser.<br />
Per far questo dovresti creare un piccolo file che venga richiamato in quei casi. </p>
<p>Il file  che chiameremo nocopy.php lo inseriremo nella root come un semplice file php.</p>
<p>&lt;?php<br />
  header(&#8220;Content-type: text/html&#8221;);<br />
  header(&#8220;Expires: Tue, 26 Jul 2030 05:00:00 GMT&#8221;);<br />
  header(&#8220;Cache-Control: no-store, no-cache, must-revalidate&#8221;);<br />
  header(&#8220;Cache-Control: post-check=0, pre-check=0&#8243;,<br />
          false);<br />
  header(&#8220;Pragma: no-cache&#8221;);<br />
  $pic = strip_tags( $_GET['pic'] );<br />
  if ( ! $pic ) {<br />
    die(&#8220;Non ci sono immagini!&#8221;);<br />
  }<br />
?&gt;<br />
&lt; !DOCTYPE HTML PUBLIC &#8220;-//W3C//DTD HTML 4.01//EN&#8221;<br />
  &#8220;http://www.w3.org/TR/html4/strict.dtd&#8221;&gt;<br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;&lt; ?php echo($pic); ?&gt;&lt;/title&gt;<br />
&lt;meta http-equiv=&#8221;Content-Type&#8221; content=&#8221;text/html; charset=iso-8859-1&#8243;&gt; &lt;/meta&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;p&gt;<br />
  &lt;img src=&#8221;images/&lt;?php echo($pic); ?/&gt;&#8221; alt=&#8221;Image&#8221;&gt;<br />
&lt;/p&gt;<br />
&lt;p&gt;<br />
  Immagine del sito<br />
  &lt;a href=&#8221;http://www.tuodominio.it/&#8221; rel=&#8221;nofollow&#8221;&gt; iltuodominio.it &lt;/a&gt;.<br />
&lt;/p&gt;<br />
&lt;/body&gt;<br />
&lt;/html&lt;</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Nel file .htaccess inseriremo poi i seguenti comandi:</p>
<p>RewriteEngine on</p>
<p>RewriteCond %{REQUEST_FILENAME} .*jpg$|.*gif$|.*png$ [NC]<br />
RewriteCond %{HTTP_REFERER} !^$<br />
RewriteCond %{HTTP_REFERER} !tuodominio\.it [NC]<br />
RewriteCond %{HTTP_REFERER} !google\. [NC]<br />
RewriteCond %{HTTP_REFERER} !search\?q=cache [NC]</p>
<p>RewriteRule (.*) /nocopy.php?pic=$1 </p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Se qualcuno quindi tenterá di fare un Hotlink, l&#8217;apertura dell&#8217;immagine nel browser dell&#8217;utente fallirá.<br />
Chi invece richiamerá direttamente l&#8217;immagine nel suo browser troverá il link alla tua pagina.</p>
<p>Una serie di possibilitá su come proteggersi dagli Hotlink compreso il codice appena descritto puoi trovarla qui: <a href="http://www.alistapart.com/articles/hotlinking/" rel="nofollow">http://www.alistapart.com/articles/hotlinking/</a></p>
<p>Se seguirai alla lettera le operazioni, il codice descritto dovrebbe funzionare.</p>
<p>Qui potrai testare se la tua protezione contro gli Hotlink funziona:<br />
<a href="http://altlab.com/hotlinkchecker.php" rel="nofollow">http://altlab.com/hotlinkchecker.php</a></p>
<p>Ciao</p>
<p>Angelo Palma</p>
]]></content:encoded>
	</item>
	<item>
		<title>Di: guido</title>
		<link>http://blog.webxall.net/come-vietare-hotlinking/comment-page-1#comment-4</link>
		<dc:creator>guido</dc:creator>
		<pubDate>Sat, 30 Aug 2008 13:16:20 +0000</pubDate>
		<guid isPermaLink="false">http://blog.webxall.net/?p=61#comment-4</guid>
		<description>ho letto questo articolo ed avrei una cosa da chiederti.

dove dici: L = Last rule, cioè non leggere oltre perché questa è l’ultima regola.

la lettera L va introdotta nell&#039;ultima regola/riga del file .htaccess?

ti spiego perche&#039; te lo chiedo. nel mio file .htaccess ho tra l&#039;altro le seguenti righe:

------------
RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?miodominioalternativo\.org
RewriteRule (.*) http://www.miodominio.net/$1 [R=301,L]

RewriteCond %{HTTP_HOST} !^www\.miodominio\.net$
RewriteRule ^(.*)$ http://www.miodominio.net/$1 [L,R=301]

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?miodominio.net/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?miodominio.net*$ [NC]
RewriteRule .*\.(gif&#124;jpg&#124;GIF&#124;JPG)$ http://www.miodominio.net/images/visit.gif [R,NC]

redirect 301 /oldpage.htm http://www.miodominio.net/newpage.htm
------------

la prima condizione redirige un nome dominio alternativo verso il nome dominio che voglio pubblico

la seconda condizione introduce www anche se non si digita. e qui puoi vedere la &quot;L&quot;

la terza condizione non fa linkare le immagini e dovrebbe (perche&#039; non funziona) far vedere un&#039;immagine alternativa.

e poi iniziano le righe redirect 301

dovrei introdurre la lettera &quot;L&quot; alla fine della terza condizione togliendola dalla seconda, e magari anche spostare il redirect 301 prima delle condizioni di rewrite?</description>
		<content:encoded><![CDATA[<p>ho letto questo articolo ed avrei una cosa da chiederti.</p>
<p>dove dici: L = Last rule, cioè non leggere oltre perché questa è l’ultima regola.</p>
<p>la lettera L va introdotta nell&#8217;ultima regola/riga del file .htaccess?</p>
<p>ti spiego perche&#8217; te lo chiedo. nel mio file .htaccess ho tra l&#8217;altro le seguenti righe:</p>
<p>&#8212;&#8212;&#8212;&#8212;<br />
RewriteEngine On</p>
<p>RewriteCond %{HTTP_HOST} ^(www\.)?miodominioalternativo\.org<br />
RewriteRule (.*) <a href="http://www.miodominio.net/$1" rel="nofollow">http://www.miodominio.net/$1</a> [R=301,L]</p>
<p>RewriteCond %{HTTP_HOST} !^www\.miodominio\.net$<br />
RewriteRule ^(.*)$ <a href="http://www.miodominio.net/$1" rel="nofollow">http://www.miodominio.net/$1</a> [L,R=301]</p>
<p>RewriteCond %{HTTP_REFERER} !^$<br />
RewriteCond %{HTTP_REFERER} !^http://(www\.)?miodominio.net/.*$ [NC]<br />
RewriteCond %{HTTP_REFERER} !^http://(www\.)?miodominio.net*$ [NC]<br />
RewriteRule .*\.(gif|jpg|GIF|JPG)$ <a href="http://www.miodominio.net/images/visit.gif" rel="nofollow">http://www.miodominio.net/images/visit.gif</a> [R,NC]</p>
<p>redirect 301 /oldpage.htm <a href="http://www.miodominio.net/newpage.htm" rel="nofollow">http://www.miodominio.net/newpage.htm</a><br />
&#8212;&#8212;&#8212;&#8212;</p>
<p>la prima condizione redirige un nome dominio alternativo verso il nome dominio che voglio pubblico</p>
<p>la seconda condizione introduce www anche se non si digita. e qui puoi vedere la &#8220;L&#8221;</p>
<p>la terza condizione non fa linkare le immagini e dovrebbe (perche&#8217; non funziona) far vedere un&#8217;immagine alternativa.</p>
<p>e poi iniziano le righe redirect 301</p>
<p>dovrei introdurre la lettera &#8220;L&#8221; alla fine della terza condizione togliendola dalla seconda, e magari anche spostare il redirect 301 prima delle condizioni di rewrite?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
