Ho una cartella con diversi file dentro. Come faccio a far si che possano essere raggiunti solo se è settata una certa variabile di sessione?
Ho una cartella con diversi file dentro. Come faccio a far si che possano essere raggiunti solo se è settata una certa variabile di sessione?
I file devono essere accessibili per il download o sono pagine web?
http://www.miniscript.it
Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.
La prima cosa da fare è postare il codice dove si presume di fare
un'azione di convalida.
La seconda è settare una variabile a true o false,naturalmente attivando la
sessione con session_start.
Sono stato nella terra della paura e dei vampiri...in transilvania?NO!..in Banca!
devono essere scaricabili dagli utenti loggati. ho già un file con un redirect in ogni sottocartella che deve essere protetta, ma se inserisco il link del file specifico riesco ad aprirlo anche da non loggato
come dicevo sopra devo proteggere dei file, non delle pagine.Originariamente inviato da vnt54
La prima cosa da fare è postare il codice dove si presume di fare
un'azione di convalida.
La seconda è settare una variabile a true o false,naturalmente attivando la
sessione con session_start.
la sessione ovviamente è settata. il controllo devo farlo su $_SESSION['x']. se c'è allora si può accedere.
In questo caso la tecnica è diversa...
Non sono sufficienti le sessioni... bisogna scomodare anche apache.
Oppure utilizzare i campi blob del db (cosa che nn mi piace fare...)
http://www.miniscript.it
Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.
si potrebbe fare anche con una variabile in sessione e basta.
la funzione chdir di php ti permette di impostare una cartella di lavoro dove il sistema andrà ad operare.
la mia idea:
se la variabile è true imposti con chdir la cartella dei files, viceversa non lo fai.
quando continuerai con il tuo codice verificherai giustamente se il file esiste e lo farai impostando i path in maniera relativa alla cartella corrente.
in questo modo la ricerca del file fallirà quando la variabile in sessione è false e quindi restuitirai un errore.
un esempio
Codice PHP:
<?php
/*
sono in /var/application
i files sono in /var/resources
il file richiesto è /var/resources/files/pdf/09432.pdf
*/
//la directory corrente per eventualmente tornare al punto di partenza
$current_path=getcwd();
if($_SESSION['user_download'] == true){
chdir('../resources');
}
if(is_file('./files/pdf/09432.pdf') && is_readable('./files/pdf/09432.pdf')){
//download del file
}
else{
//errore, redirect o altro
}
//nel caso in cui vuoi tornare alla cartella di origine DA CUI ti sei spostato
chdir($current_path);
?>![]()
olyyyyyyyyyyy![]()
Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle
il mio profilo su PHPClasses e il mio blog laboweb
Ecco il modo in cui farei io:
Proteggere il download dei files
http://www.miniscript.it
Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.