<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Ebook autorizzazione allo scarico]]></title><description><![CDATA[<blockquote>
<p dir="auto">Caro Giorgio, per prima cosa ti ringrazio per il simpatico e caloroso<br />
benvenuto, poi ti spiego brevemente come mi sono imbattuto nel tuo<br />
sito.<br />
Dovendo supportare un' amica che vorrebbe creare un sito per<br />
commercializzare un suo libro e magari estendere la<br />
commercializzazione ad altre pubblicazioni,<br />
(eBook per capirci) mi sono imbattuto nel<br />
problema delle chiavi da inviare via mail per autorizzare lo<br />
scaricamento del file e, cerca che ti ricerca ho trovato, seguendo il<br />
profumino di soluzione, voi.<br />
Ora, penso che il problema possa essere di<br />
comune interesse e se lo ritieni, lo si potrebbe mettere in<br />
discussione<br />
in  modo che più teste potrebbero approdare alla soluzione piu'<br />
consona.<br />
Ti prego per questo di suggerirmi come fare per impostare<br />
l'argomento ( non ci crederai ma non mi sono mai inserito in blog o<br />
simili).<br />
In attesa di tue nuove ti anticipo i miei ringraziamemnti<br />
complimentandomi ancora una volta per il tuo utilissimo sito, Carlo</p>
</blockquote>
]]></description><link>https://connect.gt/topic/112875/ebook-autorizzazione-allo-scarico</link><generator>RSS for Node</generator><lastBuildDate>Fri, 22 May 2026 13:35:04 GMT</lastBuildDate><atom:link href="https://connect.gt/topic/112875.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 18 Oct 2009 06:50:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Ebook autorizzazione allo scarico on Sun, 18 Oct 2009 08:10:35 GMT]]></title><description><![CDATA[<p dir="auto">Ciao CarloGiuseppe e benvenuto nel Forum GT. <img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=mke5oho4ck8" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" title=":)" alt="🙂" /></p>
<p dir="auto">La prima cosa da fare è ovviamente impedire di scaricare direttamente il file conoscendo il percorso.</p>
<p dir="auto">Nella cartella del download, oltre ad inserire un file index.html vuoto, ti basterà inserire un file .htaccess con queste poche righe:</p>
<pre><code>&lt;Files ~ ".+"&gt;
Order allow,deny
Deny from all
Satisfy All
&lt;/Files&gt;
</code></pre>
<p dir="auto">In questo modo non si potrà scaricare direttamente il file. <img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/android/1f609.png?v=mke5oho4ck8" class="not-responsive emoji emoji-android emoji--wink" title=";)" alt="😉" /></p>
<p dir="auto">Per quanto riguarda l'autorizzazione allo scarico potresti creare una chiave che sia una combinazione tra un parola chiave di tua scelta ed il timestamp della richiesta, combinate ed hashate con sha1. La chiave viene salvata su un campo del Db ed inviata via mail all'utente (vvv.sito.ext/download.php?key=1234567890123456 per esempio)</p>
<p dir="auto">Per autorizzare il download verificherai che la key è valida, quindi contenuta nel Db, e non utilizzata e procederai all'invio al browser del file per la scarimento, aggiornando la tabella per dire che la key è stata utilizzata.</p>
<p dir="auto">Per inviare al browser il file potresti utilizzare qualcosa del genere:<br />
[php]&lt;?php</p>
<p dir="auto">$file = 'ebook/ebook.pdf';</p>
<p dir="auto">if (file_exists($file)) {<br />
header('Content-Description: File Transfer');<br />
header('Content-Type: application/octet-stream');<br />
header('Content-Disposition: attachment;    filename='.basename($file));</p>
<pre><code>header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
</code></pre>
<p dir="auto">}<br />
?&gt; [/php];)</p>
]]></description><link>https://connect.gt/post/864575</link><guid isPermaLink="true">https://connect.gt/post/864575</guid><dc:creator><![CDATA[samyorn]]></dc:creator><pubDate>Sun, 18 Oct 2009 08:10:35 GMT</pubDate></item></channel></rss>