proteggere download dei file

simon83

Nuovo Utente
13 Mag 2014
15
0
0
Salve, sto creando un sito con area riservata in cui gli utenti registrati possono scaricare dei file.
Ho creato il form per caricare i file. Io però vorrei poter proteggere l'accesso ai file, poichè ora se si conosce il link anche utenti non registrati possono scaricare i file.
Nel database non ho salvato i file, ma solamente il loro nome.
Vi posto parte del codice del database e delle pagine php

CREATE TABLE lezione
(
id int NOT NULL,
titolo varchar NOT NULL,
lezione varchar
PRIMARY KEY (id),
)

La pagina per caricare il file è questa:
PHP:
 <form method="post" action="#" id="formlezione" enctype="multipart/form-data">
					<table width="882">
                      <tr>
    <td width="383">
                    	<label for="numero">Numero</label>
							<input type="text" name="numero" id="numero" value="" /></td>
                            <td width="auto"> 
                            <h1><span class="red">Co</span><span class="orange">r</span><span class="blue">si</span></h1>
                            </td> 
                            </tr>
						<tr>
                        <td>
                       <label for="titolo">Titolo</label>
							<input type="text" name="titolo" id="titolo" value=""/>
                            </td>
                             </tr>
                            
                            
                             <tr>
    <td>                     
               			<label for="lezione">Lezione</label>
							<input type="file" name="lezione" id="lezione" />
						  
                            </td>
                            </tr>
                            
                   
                            
							 <tr>
    <td>					
						<input type="submit" name="invia" id="modifica" value="Aggiorna dati" />
                        </td>
                        </tr>
                        </table>
</form>
                
                        </p>
                
		<?php	
			
				$titolo = mysqli_real_escape_string($link, $_POST['titolo']);
				$lezione = mysqli_real_escape_string($link, $_FILES['lezione']['name']);
				
				
				move_uploaded_file($_FILES['lezione']['tmp_name'], 'upload/' .$_FILES['lezione']['name']);
							 $lezione= $_FILES['lezione']['name'];
							 
							 $invialezione = mysqli_query($link, "INSERT INTO lezione (titolo, lezione) VALUES ('$titolo', '$lezione')");
	?>



Mentre questa è la pagina per visualizzare i file caricati:
PHP:
<?php
				$query = mysqli_query($link, "SELECT * FROM lezione ");
    $quanti = mysqli_num_rows($query);	
 
    if ($quanti == 0)
    {
        echo "Nessun record!";
    }
    else
    {
        for($x=0; $x<$quanti; $x++)
        {
            $rs = mysqli_fetch_row($query);
			$id = $rs[0];
            $titolo = $rs[2];
			$lezione = $rs[4];?>
            <tr>
     <td><?php echo $titolo;?> €</td>
     <td><a href="upload/<?php echo $lezione;?>"><?php echo $lezione;?></a></td>            
            
       <?php     
		}
		}?>

In questo modo i file vengono caricati nella cartella upload e nel db viene memorizzato il nome del file; però se si conosce il percorso tutti possono accedere ai file.
Come posso fare per proteggere l'accesso?
Grazie
 

simon83

Nuovo Utente
13 Mag 2014
15
0
0
Si. c'è un controllo di sessione. Però questo è per le pagine php e non per i file che sono nella cartella upload.
Se non sei loggato non puoi accedere alla pagina dove sta il link del file da scaricare (saranno file pdf soprattutto); però se si logga e clicca sul link del file da scaricare e si salva il il link della pagina che si aprirà, successivamente potrà accedere senza doversi loggare. Spero di essermi spiegato

Nell'immagine allegata ho copiato il link nella barra degli indirizzi senza loggarmi. Vorrei evitare che succeda questo e vorrei che se scrivi il link non ti dia la possibilità di vederlo

Immagine.jpg
 

simon83

Nuovo Utente
13 Mag 2014
15
0
0
Ho risolto. Scrivo come ho fatto; può essere utile anche agl'altri...
ho sostituito il codice nel file httpd.conf di apache con il seguente codice

<Directory "C:/xampp/htdocs/iscrizioni/documenti">
AllowOverride none
#Order allow,deny
deny from all
</Directory>

dove "C:/xampp/htdocs/iscrizioni/documenti" è la cartella che vogliamo proteggere
 

otto9due

Utente Attivo
22 Feb 2014
590
25
28
Ho lo stesso problema, come hai risolto perchè no si è capito bene. Nel senso puoi darmi qualche altra delucidazione?
 
Discussioni simili
Autore Titolo Forum Risposte Data
otto9due Proteggere una cartella e file con password tramite .htaccess e .htpasswd Web Server 0
otto9due Proteggere file caricati dall'esterno ma renderli accessibili per gli utenti loggati. PHP 4
R [c#] Proteggere il codice dell'applicazione C/C++ 0
S [PHP] proteggere pagine PHP 10
B Proteggere cartella Apache ma non le sottocartelle!!! Apache 0
anton Proteggere un file con htaccess Apache 0
anton Proteggere un file su host HTML e CSS 9
M proteggere un file testuale da accesso diretto PHP 4
G Proteggere le tabelle in access MS Access 0
P Sistema migliore per proteggere le immagini? Discussioni Varie 8
A Proteggere Cartella con .htaccess su Xoom.it Web Server 2
max_400 Proteggere i cookie PHP 7
M Proteggere PHP PHP 4
Jam1 proteggere foto con watermark da accessi tramite $_GET[''] PHP 16
max_400 Proteggere login con autenticazione database PHP 19
maurodefilippis Software Per DRM per proteggere pdf ed epub Windows e Software 1
C Proteggere file sul server Apache 2
asevenx proteggere dati con password sicura PHP 8
max_400 Nascondere indirizzo o visualiz. un altro oppure Proteggere pagina php ricevente PHP 6
S [VB.NET] Proteggere le applicazioni .NET Framework 0
M [htaccess] Proteggere file con password Web Server 1
I proteggere le pagine internet PHP 25
M Proteggere più pagine con password PHP 12
R Proteggere una pagina di un sito con password PHP 23
G php - codice per proteggere le pagine PHP 10
M Proteggere un intero sito con .htaccess PHP 1
S Proteggere file e dati nel FTP Web Server 0
M come posso proteggere le mie immagini? Javascript 5
Z proteggere pagine Classic ASP 2
Maverick1000tt Proteggere pagina html HTML e CSS 2
M Proteggere una pagina con password usando ASP Classic ASP 6
C Come proteggere le immagini Webdesign e Grafica 1
D Proteggere immagini HTML e CSS 3
grottafelix Tutorial Asp: come proteggere le pagine Supporto Mr.Webmaster 6
peppoweb Proteggere PHP: guida passo passo PHP 0
M Creare traccia di download file sul server HTML e CSS 2
D rotella di caricamento che si toglie quando parte il download Ajax 0
M user agent per il download di api PHP 0
S Download di un file in automatico dopo la sua creazione PHP 2
R Download file multipli da directory php PHP 0
atipika INSERIRE ICONE DOWNLOAD E STAMPA WORDPRESS WordPress 10
D Javascript per il download dei dati Javascript 0
G download di un template HTML e CSS 1
V Servizio design pagina web e download in self contained html file Discussioni Varie 1
MarcoGrazia [PHP] Download di file con errore all'interno. PHP 1
C [PHP] Problema con download file PHP 0
T [PHP] [Javascript] Download e contatore PHP 3
giosuecentomani redirect form a pagina html download ebook HTML e CSS 2
spider81man [PHP] Pulsante SUBMIT per download diretto dei file PHP 9
I [PHP] visualizza file pdf in una cartella e download PHP 7

Discussioni simili