nascondere percorso di file da scaricare

turillo

Utente Attivo
23 Apr 2012
47
0
0
salve a tutti, come da titolo mi servirebbe sapere come posso fare per nascondere il percorso di un file all'interno di una
directory caricata sul mio dominio. ad esempio, io ho creato un piccolo sito in cui accedendo nell'area privata posso caricare
file dentro una directory. se io volessi ad esempio poter permettere ad un utente che naviga su una pagina del sito di scaricare questo file dovrei utilizzare il percorso del tipo <a href='miodominio.com/dati/documenti/miofile.doc'>file</a> però in questo modo l'utente saprebbe la posizione delle directory sul sito. qualcuno magari mi può spiegare brevemente come posso fare? grazie!
 

Sevenjeak

Utente Attivo
27 Nov 2012
80
2
8
32
sevenjeak.altervista.org
Ti basterebbe creare una pagina di download, per scaricare ogni file presente nella tua directory, raggiungibile ad esempio da questo url:

w ww.tuosito../pagina_download.php?f=nome_file_da_scaricare

Il nome del file lo passi tramite url, per poi recuperarlo e forzare il download del file, qui su Mr. Webmaster c'è un tutorial che fa al caso tuo, su come forzare il downloading di file, dai un'occhiata qui:

https://www.mrw.it/php/articoli/forzare-download-file-php_963.html

C'è da dire però, che cosi l'utente se vuole, nel caso conosca la directory del file, può sempre scrivere direttamente l'url del file per scaricarlo, per evitare questo ti basterebbe negare all'utente l'accesso alla directory che contiene i file tramite un semplice regola inserita nel file .htaccess, purtroppo in questo momento non ho nessun link da postarti per mostrarti come fare.
 
Ultima modifica:

turillo

Utente Attivo
23 Apr 2012
47
0
0
l'utente cmq non può conoscere il percorso del file, sempre che non faccia delle prove.
a questo proposito però vorrei venire ai ripari, nel senso di proteggere la cartella in questione.
io ad esempio ho un'area privata dove l'utente si logga e può fare alcune operazioni, tra queste
può caricare/eliminare file nella cartella tramite uno script che ho trovato su internet. il fatto è che
se volessi impedire l'accesso alla cartella potrei farlo impostando i permessi con chmod solo che non
mi funziona. ecco un pò l'esempio che avrei in mente

Codice:
$dir="../cartella/documenti" // cartella in cui salvo i file
...
chmod($dir,0777); imposto i permessi di lettura, scrittura, esecuzione

// eseguo lo script che mi carica il file dentro la cartella
move_uploaded_file($file, $dir.$file);


chmod($dir,0444); reimposto per sola lettura

in questo modo funzionerebbe il discorso del download forzato con la pagina download.php?
cioè quando carico il file la cartella ha i permessi per tutto, se l'utente che naviga nel sito
trova un link in una pagina deve poter scaricare il file, dopo che ho impostato le protezioni
alla cartella.

solo che ho provato ad inserire nel codice chmod($dir,0000) che non da nessun permesso
però lo script esegue lo stesso l'upload(ovviamente l'istruzione chmod è messa prima)

consigli?
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
24
Roma
alessandro1997.netsons.org
Basta creare un file .htaccess all'interno della cartella contenente:
Codice:
Order deny,allow
Deny from all
Per il download invece crea uno script simile a questo:
PHP:
<?php
define('FILE_DIRECTORY', __DIR__ . '/uploads');

$file = isset($_GET['file']) ? trim($_GET['file']) : null;

if (null === $file) {
    header('HTTP/1.0 404 Not Found');
    exit();
}

if (!is_file($path = realpath(FILE_DIRECTORY . "/{$file}"))) {
    header('HTTP/1.0 404 Not Found');
    exit();
}

if (strpos($path, realpath(FILE_DIRECTORY)) !== 0) {
    header('HTTP/1.0 404 Not Found');
    exit();
}

header('Cache-Control: public');
header('Content-Length: '. filesize($path));
header("Content-Disposition: attachment; filename={$file}");
header('Content-Transfer-Encoding: binary');

readfile($path);
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
borgo italia nascondere percorso link Javascript 5
N Nascondere un percorso HTML e CSS 1
M Come nascondere la finestra di dialogo di conferma? HTML e CSS 1
Shyson Nascondere tag title HTML e CSS 2
Cosina Nascondere div di default jQuery 2
L Mysql: Nascondere le pagine dopo una ricerca PHP 1
Alex_70 Nascondere label tab se campo vuoto PHP 2
Shyson [PHP] Nascondere codice PHP 3
Shyson [WordPress] Nascondere email agli spider WordPress 3
V [Javascript] Visualizzare o nascondere div figlio Javascript 4
Shyson [WordPress] Nascondere link del Login WordPress 2
A Javascript Nascondere Div con id numerico dinamico Javascript 18
S [javascript] visualizzare/nascondere div Javascript 3
C Nascondere un div al click di una casella Ajax 1
Shyson [Javascript] Nascondere avviso se utente può registrarsi Javascript 0
jonnino2004 nascondere le proprie visite Google Analytics 1
B APACHE-NASCONDERE DIRECTORY DALL'URL Web Server 0
andrew1975 [Joomla] nascondere lo slider Joomla 1
S [Javascript] Nascondere e rendere visibile un Div cliccando su due link Javascript 2
Marcello.Fiore Nascondere div con jQuery jQuery 7
F Nascondere menù onclick sottovoce jQuery 0
P nascondere div con css inline Javascript 2
Shyson Nascondere codice quando si linka Javascript 10
M Nascondere Video e censurare src in tag <iframe> Quale linguaggio consigliate? Discussioni Varie 0
N Nascondere menu onclick su ancora Javascript 2
V Nascondere prodotti non disponibili in prestashop CMS (Content Management System) 2
L Modo per nascondere una parte variabile di una stringa PHP 0
Licantropo Come nascondere i propri dati su Whois? Hosting 0
L nascondere tastiera ios8 Sviluppo app per iOS 0
G Nascondere cartella con .htaccess PHP 0
N Aiuto con html nascondere i media HTML e CSS 4
N Nascondere cartella sito al pubblico PHP 0
F Nascondere option value Javascript 2
D mostrare nascondere sottomenu Javascript 1
M nascondere la colonna di una tabella in base ad una condizione PHP 8
L funzione per nascondere username PHP 5
M Nascondere url pagina PHP 3
3 iframe e nascondere un div caricato HTML e CSS 5
L Nascondere .htaccess dalla visualizzazione dei file visti da script PHP 5
M Nascondere o Offuscare codice Javascript e Jquey jQuery 2
F Aiuto script per nascondere banner per 24 ore all utente. PHP 7
anton Nascondere indirizzo email agli spambot in un form php PHP 21
S Nascondere nome pagina web dalla barra degli indirizzi HTML e CSS 2
K Nascondere i css3 ai vecchi broswer usando @media HTML e CSS 0
F Nascondere una nuova finestra Javascript 1
L Nascondere l'amministratore del sito PHP 9
Vale2 Nascondere un indirizzo email agli spambot Snippet Javascript 0
Athene Come nascondere i dati della checkbox in php PHP 2
asevenx rendere visibili e nascondere DIV con onlink Javascript 12
U nascondere riga di tabella se valore campo =... Javascript 4

Discussioni simili