Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    Impedire accesso diretto a file su server e consentire l'accesso solo da pagine web.

    Salve a tutti,
    sto realizzando un sito in joomla in un server linux con apache.

    Gli utenti registrati possono accedere a dei contenuti multimediali in file swf che inserisco in pagine joomla protette da login e password. Ogni utente ha un file swf differente.
    Una vola caricata la pagina dall'utente registrato se si ispeziona il file sorgente caricato si può vedere nel codice l'indirizzo src del file swf inserito nella pagina.
    Se si esce dall'area protetta e si incolla l'indirizzo sul browser vi si può accedere al file dell'utente senza loggarsi alla pagina protetta.

    Con il file .htaccess non si risolve il problema, se nego l'accesso ai file swf il server nega a chiunque l'accesso a quei file, anche alla pagina del sito che ne richiede l'accesso.

    C'è un modo per dire al server di consentire il caricamento dei files swf quando la richiesta viene fatta da una pagine del sito e impedire invece il caricamento diretto dei files swf via http conoscendone l'esatto percorso.

    Spero di essere stato chiaro.

  2. #2
    Utente di HTML.it L'avatar di gorn
    Registrato dal
    Jun 2010
    Messaggi
    91
    non puoi mostrare nella tua pagina solo i nomi dei file senza mostrare il percorso

    occhio non vede cuore non duole




    Naturalmente non conoscendo la struttura del tuo sistema è molto difficile darti un aiuto concreto..
    Il problema non è la caduta, ma l'atterraggio (Cit.)

  3. #3
    nega a tutti l'accesso tramite .htaccess e usa uno script php per recuperare il file swf.. cioè, invece di mettere nel tag "/path/to/file.swf" metterai tipo "/path/to/script.php?file=file.swf", lo script così può controllare che l'utente in questione sia loggato e poi si andrà a leggere il file swf e ritornerà lo stream... non so, secondo me potrebbe funzionare, magari ti fai la prova in locale con due paginette stupide prima di buttarti dentro joomla. PEr info, cerca "download forzato" nel forum: la tecnica è la stessa, solo che invece di documenti vari o immagini te avrai file swf
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    292
    Penso non si possa fare quel che chiedi,
    se ho capito bene ogni utente dopo il login visualizzerà una pagina con il "suo" swf incorporato (embed), quindi necessiti un accesso diretto al file.
    Penso tu non possa ottenere entrambe le cose, embed senza accesso diretto.
    Fosse un flv sarebbe diverso.

    Forse l'unico modo sarebbe usare una chiave univoca/token (utilizzando una funzione di hash), da passare all'swf, chiave che viene passata come parametro e se corretta l'swf (che conosce la funzione di hash) va ad esempio in play altrimenti si ferma al primo frame.
    Ma in questo caso dovresti avrere controllo totale sugli swf e non so se è il tuo caso.

    Magari qualcuno saprà darti consigli più semplici e mirati.

  5. #5
    Ringrazio tutti per i vostri consigli, scuste, ma credo di non essere stato abbastanza chiaro nell'espormi il mio problema.
    Ho già impostato nel file .htaccess del sito il divieto ad un accesso diretto a file swf.
    Ora sto cercando il modo, credo a questo punto con uno script come qualcuno mi suggerisce, di permette ad una pagina web del sito di accedere a i file swf.
    Un joomla 2.5 negli articoli realizzati per pagine protette posso inserire uno scrpit da un file.php.
    Ora vorrei capire se attraverso uno script in php c'è un sistema per caricare il file.
    Lato utente si avrà l'accesso protetto ad un articolo che contiene al suo interno un file swf.
    Lato server la pagina protetta conterrà un include di un file.php che avvierà uno script per caricare il file swf senza essere bloccato dalle regole del file .htaccess.
    In questo modo la pagina caricata in vista codice non mostrerà più il percorso diretto del file swf.
    Di che script ho bisogno?

    Grazie per la vostra disponibilità e pazienza!

  6. #6
    io ho già risposto in merito
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    292
    di norma si usa una semplice readfile con i relativi header,
    io dicevo che penso non si possa fare perchè ho il dubbio che questo metodo possa non funzionare con un swf, comunque basta provare.
    Dovrebbe essere qualcosa del genere, fai delle prove.


    header("Content-Type: application/x-shockwave-flash",true);
    header("Content-Length: XXXXXXX",true);
    header("Accept-Ranges: bytes",true);
    header("Connection: keep-alive",true);
    header("Content-Disposition: inline; filename=XXXXXXXX");
    readfile(XXXXXX);

  8. #8
    Vi ringrazio per i vostri preziosi consigli, il mio obbiettivo è quello di permettere l'utilizzo dei file swf solo ad utenti registrati, i quali possono accedere solo ad alcuni file swf.
    Utilizzando la gestione utenti di joomla creo delle pagine protette nelle quali assegno l'utilizzo di specifici file swf per ogni utente.
    Il sistema funziona, ma c'è una falla! Un utente che puó accedere solo lui ad un file swf, puó permettere ad un altro utente o addirittura a chiunque di accedere al suo file swf anche se uesto si trova in una pagina protetta, rendendo pubblico l'indirizzo diretto al file, compresa la struttura delle directory.
    Basta in qualunque browser abilitare la modalità vista codice e con l'assistenza guidata, posizionandosi nell'area del file swf, si puó leggere sia il percorso di ricerca file che le variabili associate e utilizzarle per forzate l'accesso.
    In questo modo chiunque anche senza essere un utente del sito potrebbe sia utilizzate il file swf con il link diretto, ma addirittura risalire facilmente agli altri file presenti sostituendo solo il nome del file.swf finale.
    Per bloccare l'accesso diretto ai file swf, ho negato l'accesso via http tramite il file .htaccess ma ora anche dal sito non si caricano.
    Qualcuno mi ha suggerito uno script ma detto così è troppo generico per me, non ho conoscenze approfondite in php.
    C'è qualcuno che può darmi indicazioni più precise?
    Scusate la mia ignoranza!

  9. #9
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    io avevo fatto una cosa così da utilizzare per alcune immagini. La funzione la metti nello script, dove verificherai prima se l'utente ha i permessi per procedere

    Codice PHP:
    function image_out($var1$var2) {
        
    $dir $var1;
        
    $file $var2;
        
    //ricavo l'estensione del nome del file
        
    $file_exp explode("."$file);
        
    $ext $file_exp[count($file_exp)-1];
        
    //ricavo il tipo di content per l'header
        
    switch ($ext) {
            case 
    "bmp":
                
    $content "image/bmp";
            break;
            
            case 
    "gif":
                
    $content "image/gif";
            break;
            
            case 
    "jpeg":
                
    $content "image/jpeg";
            break;
                    
            case 
    "jpg":
                
    $content "image/jpeg";
            break;
            
            case 
    "jpe":
                
    $content "image/jpeg";
            break;
            
            case 
    "png":
                
    $content "image/png";
            break;
            
            default:
                
    $content "";
            break;
        }
        
    //genero l'output dell'immagine
        
    $image file_get_contents($dir.$file);
        
    header('Content-Type: '$content);
        echo 
    $image;


  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    292
    Il tuo "problema" è molto chiaro, non era chiaro che tu non avessi concoscenze di php più che basiche...
    l'idea di base è:
    nel codice embed la sorgente non sarà più il percorso diretto al file ma il percorso ad un file php con l'aggiunta di un parametro che identifica lo specifico file swf.
    Il file php si occupa di controllare che l'utente sia loggato e che il file richiesto possa essere visualizzato dall'utente che lo richiede, se queste due condizioni vengono rispettate il file php si occuperà di caricare il file swf richiesto.

    Così se qualcuno andrà ad ispezionare il codice embed troverà solo il percorso ad un file php con un parametro, link che risulterà inutilizzabile se non si è loggati.
    Hai tutti gli elementi per provare, ti basta solo metterli insieme.

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.