Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    183

    Cartella accessibile solo se settati permessi in 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?

  2. #2
    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.

  3. #3
    Utente di HTML.it L'avatar di vnt54
    Registrato dal
    Mar 2009
    Messaggi
    500
    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!

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    183
    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

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    183
    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.
    come dicevo sopra devo proteggere dei file, non delle pagine.

    la sessione ovviamente è settata. il controllo devo farlo su $_SESSION['x']. se c'è allora si può accedere.

  6. #6
    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.

  7. #7
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    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

  8. #8
    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.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.