• User

    Script PHP con XML

    Allora ho uno script che legge i dati da un file xml, il mio problema è che non voglio render pubblico il file xml... Quindi uno facendo miosito.it/file.xml non deve veder nulla però lo script quindi script.php deve poter leggere il file...

    Spiego bene la situazione:

    Script.php è il file che esegue lo script con il file xml
    Filexml.php è il file SEMPRE PHP che genera l'xml con i dati presi dal db

    Quindi il file xml è sempre in estensione php...

    Allora ho fatto in questo modo:

    tramite htaccess trasformo il file Filexml.php in file.xml
    poi tramite htaccess con il codice che mi hai dato ho bloccato i file xml in quella cartella

    Funziona tutto, il file.xml è bloccato invece il filexml.php no, però non è un problema in quanto metterò quel file in una cartella non indicizzata e quindi non sarà possibile raggiungerlo

    Ora però dal file script.php chiamo il file.xml e ovviamente non va perchè è bloccato...
    Come faccio a consentire l'accesso allo script?

    Aggiugendo al htaccess

    Allow from miosito.it

    Non funziona...


  • User

    UP
    Nessuno è in grado di darmi una dritta su come fare a leggere un file xml in una cartella privata in modo tale che venga letto SOLO dal mio sito?


  • User Attivo

    Ma... visto che non deve essere pubblico e che non deve essere indicizzato, perchè non lo mantieni con estensione php?


  • User

    @tigrone said:

    Ma... visto che non deve essere pubblico e che non deve essere indicizzato, perchè non lo mantieni con estensione php?

    Per il semplice motivo che è la stessa cosa ovvero digitando "filexml.php" il file restituisce tutti i dati in un xml.
    Il file è comunque richiamato nel codice javascript quindi guardando la sorgente della pagina si vede chiaramente il nome del file...

    Per intenderci

    downloadUrl("filexml.php?id=<?=$variabile;?>", function(doc) {
    

    Guardando la sorgente della pagina il nome del file è visibile e quindi chiunque può vedere e andare a vedere il file...


  • User Attivo

    Perchè se lo tieni in php lo puoi proteggere con una semplice sessione.
    Ad esempio: in script.php imposti un valore di sessione e in filexml.php controlli quel valore di sessione prima di eseguire il codice.


  • Super User

    Ciao, ma se lo richiami con javascript il client deve poterlo leggere per forza, o sbaglio? Quindi non c'entra il l'altro script php.

    Comunque con un banale

    [PHP]if($_SERVER['REQUEST_URI'] == $_SERVER['PHP_SELF']){
    //faccio qualcosa
    }[/PHP]

    Puoi intercettare le chiamate dirette di un file.