Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Falla di sicurezza in area riservata

    Ciao a tutti,
    vorrei risolvere da un po' di tempo un piccolo problema dell'area riservata che ho creato.

    Ho un'amministrazione con utenti e gruppi d'utenti. Login e sessioni funzionano alla perfezione, posso creare pagine riservate e eventi riservati in agenda. Il problema riguarda file "fisici" che risiedono sul server (immagini, e documenti di qualsiasi tipo). Posso mettere i link in pagine riservate, ma da http posso accedere comunque. Perchè finchè nessuno conosce il percorso del file tutto va bene, ma lo potrebbe dedurre. Vorrei evitare di codificare il link per non permettere la "lettura" reale del percorso.

    Come posso ovviare a questo problema? Ho pensato di usare .htaccess per proteggere la cartella che contiene i file, ma non so come far passare i dati del login che l'utente ha già effettuato, senza dover richiedere i dati di login. Cioè vorrei far passare i dati richiesti da .htaccess, direttamente attraverso php, in modo da proteggere la cartella da accessi http diretti, ma evitando fastidi all'utente...

    È possibile? Come funziona?


    Grazie
    roro

  2. #2
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Io ho risolto cosi' :

    1) Creato file .htaccess che impedisce a tutti di accedere alla cartella
    2) Creata una procedura in php che accede ai files protetti.
    2.1- controlla se si ha il permesso di accedere
    2.2- controlla che le risorsa richiesta esista
    2.3- legge il mime-type del file genera il relativo header.
    2.4- Legge il contenuto del file e risponde questi dati.

  3. #3
    Non ho capito come hai fatto :S

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    813
    come leggi il mime type? la funzione mime_content_type è deprecata
    Nell'anno 1968 è bastata la potenza di due Commodore 64 per lanciare con successo una navicella sulla Luna; nell'anno 2007 ci vogliono la potenza di un processore quad core 3.30 GHz e 3 Gb di RAM (requisiti minimi ufficiali) per utilizzare Windows Vista. Qualcosa deve essere andato storto!

  5. #5

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    813
    Originariamente inviato da Virus_101
    http://www.php.net/manual/en/function.finfo-file.php

    Qui trovi tutto
    e lo so...
    anche io mi sn scontrato con questo problema...
    l'ho risolto usando base64_encode/decode per codificare il percorso del file, ma non sono riuscito a risolvere il problema del mime-type...

    il mio server non ha php 5.3 ((PHP >= 5.3.0, PECL fileinfo >= 0.1.0))

    c'è un altro sistema per ovviare al problema?
    Nell'anno 1968 è bastata la potenza di due Commodore 64 per lanciare con successo una navicella sulla Luna; nell'anno 2007 ci vogliono la potenza di un processore quad core 3.30 GHz e 3 Gb di RAM (requisiti minimi ufficiali) per utilizzare Windows Vista. Qualcosa deve essere andato storto!

  7. #7
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Si la soluzione c'e' e dipende dalla versione che hai installata di php devi controllare la versione e in base a quella scegliere se usare file_info oppure la funzione mime_type ( o come si chiama nn ricordo precisamente).

    Nel caso puoi anche fare una cosa del genere :
    1- definisci una funzione per identificare il mimetype
    2- nella funzione fai il controllo di versione di php con http://www.php.net/manual/en/function.phpversion.php
    3- in base alle versione lanci (magari con un eval per evitare warning o altre segnalazioni di errori ) la funzione relativa all'identificazione e al recupero del mime type
    4- ritorni il ime type correttamente formattato in e recuperato in base alla versione di php.

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.