Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    41

    impedire l'accesso ad alcuni files

    ho creato un cms in php per mostrare contenuti multimediali (video/foto).

    la generazione della pagina che mostra il video avviene tramite una chiamata ad una tabella mysql che in base all'id recupera il file e quindi restituisce la pagina al client.

    a seconda dei privilegi assegnati a ciascun utente la query elenca tutti i contenuti che il singolo user può visualizzare.

    il problema è che il sorgente html/php della pagina che mostra il video (o la foto) contiente la path del video stesso e nella stessa directory ci sono altri contenuti dei quali, in teoria, solo in parte sarebbero visibili al singolo utente.

    come posso fare per impedire che si possano vedere tutti i contenuti semplicemente digitando la path ai singoli files?

  2. #2
    Posiziona i file all'interno di una directory esterna alla document root (o protetta con .htaccess) e crea uno script PHP che agisca da proxy. In pseudo codice, lo script dovrebbe:

    1. Controllare i privilegi dell'utente.
    2. Controllare che il file richiesto risieda nella directory giusta.
    3. Inviare gli header corretti.
    4. Inviare il contenuto del file.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    41
    Originariamente inviato da filippo.toso
    Posiziona i file all'interno di una directory esterna alla document root (o protetta con .htaccess) e crea uno script PHP che agisca da proxy. In pseudo codice, lo script dovrebbe:

    1. Controllare i privilegi dell'utente.
    2. Controllare che il file richiesto risieda nella directory giusta.
    3. Inviare gli header corretti.
    4. Inviare il contenuto del file.
    aspetta, facciamo un esempio. se guardo il sorgente della pagina php che mostra il filmato ad un certo puto trovo:

    <embed src="miadirectory/nomefilmato_000.mov"></embed>

    ecco come faccio a prevenire che uno scriva ad esempio

    www.miosito.it/miadirectory/nomefilmato_001.mov

    e fare in modo che se nomefilmato_001.mov non rientra tra quelli visualizzabili dal suo profilo l'accesso venga bloccato?

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2000
    residenza
    Edinburgh
    Messaggi
    401
    Un modo (se stai usando Apache) è usare mod_rewrite e redirezionare tutte le chiamate a *.mov ad una pagina showvideo.php?video=xxx

    In questo modo showvideo può decidere se l'utente ha o meno i permessi per vedere il filmato.

    Non l'ho provato, ma una roba simile in .htaccess dovrebbe funzionare:

    codice:
    RewriteEngine on
    RewriteBase /
    
    RewriteRule ^(.*)\.mov$ showvideo.php?video=$1 [L]

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.