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

    funziona in diverse directory, non in un'altra

    Buongiorno!
    Ho un problema con il server del mio provider. All'interno del mio sito ho diverse directory il cui contenuto è protetto da questo pezzo di codice che verifica che l'utente si sia loggato prima di mostrargli il contenuto.
    Questo programma funziona senza problemi in diverse cartelle dello stesso livello, tutte poste nella directory radice, ma non funziona nella cartella "areaagenti" in cui fino a poche ore prima funzionava alla perfezione... Il bello è che due giorni fa ho cambiato nome alla cartella "areaagenti" che prima si chiamava "areariservata" proprio come estremo tentativo di far funzionare il tutto... e con la sola rinominazione della cartella il programma funzionava!
    Ora senza cambiare neanche una vigola del codice ho cambiato nome alla cartella "areaagenti" e con il nuovo nome "gioco" tutto funziona

    Ecco il codice:
    codice:
    error_reporting(E_ALL);
    include_once("../include/config.php"); 
    include_once("../include/auth.lib.php"); 
    list($status, $user) = auth_get_status(); 
    if($status == AUTH_LOGGED & auth_get_option("TRANSICTION METHOD") == AUTH_USE_LINK){ $link = "?uid=".$_GET['uid']; }else $link = ''; 
     //fa comparire il form di login se l'utente non è loggato 
    if($status != AUTH_LOGGED) { echo '<meta http-equiv=refresh content="10; url=/area_riservata.php">'; 
    // echo "controllo non superato, lo status è ".$status ;
     echo 'se non si carica automaticamente la pagina di registrazione  clicca qui'; 
    die;} //da qui in avanti contenuto protetto :-)
    L'assistenza tecnica del provider alla mia prima segnalazione ha ipotizzato che il problema fosse legato al superamento della quota su disco e l'ha aumentata, ora non ha più ipotesi.
    Vi è mai successo qualcosa del genere?
    Riuscite ad ipotizzare dove sia il problema?
    Grazie infinite!
    --
    Think positive!

  2. #2
    codice:
    if($status == AUTH_LOGGED & auth_get_option("TRANSICTION METHOD")
    sicuro che vuoi la AND & come operatore bitwise e non invece una AND && come operatore logico?

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    sicuro che vuoi la AND & come operatore bitwise e non invece una AND && come operatore logico?
    Nella mia ignoranza in questo specifico contesto in cui l'operazione AND è tra due condizioni e ciascuna può essere solamente vera (1) o falsa (0) non vedo quale differenza ci si potrebbe aspettare nell'output, tuttavia ho provato a caricare la stessa pagina con la && al posto della & e il risultato non è variato.
    Credo che il problema non sia nel codice perché se così fosse il risultato dovrebbe rimanere costante nel tempo, invece una directory prima accessibile è diventata inaccessibile senza che il codice venisse variato e lo stesso codice funziona rinominando la directory "maiale", "gallina", "pollo" e cessa di funzionare se la directory si chiama "mucca" o "coniglio"...
    Grazie!
    --
    Think positive!

  4. #4
    Bitwise = http://it.php.net/manual/en/language...rs.bitwise.php

    Logico = http://it.php.net/manual/en/language...rs.logical.php

    Per il resto controlla il contenuto delle variabili e cosa rendono le varie funzioni. Se ritieni che non sia nel codice non saprei da che parte iniziare per trovare una motivazione plausibile.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Il problema credo sia da ricercare nella parte del codice che segue il primo controllo sull'autenticazione dell'utente.

    Nel frammento di codice che hai riportato non vi è nulla che opera sulle directory e quindi che ci permette di capire dove può essere il problema...

    Così a freddo mi verrebbe a pensare anche ad un problema di diritti di accesso alla directory, vedi chmod.

    Però se posti anche il codice che segue potremo analizzare meglio il problema...

  6. #6
    Vi ringrazio dei suggerimenti, ho provato ad accedere alle diverse cartelle da un altro pc ed il problema non si presenta, tutto funziona a dovere...
    le funzioni presenti negli include sono prese pari pari da qui http://newsboard.forumfree.it/?t=26816436#script

    Ora se il problema di non essere riconosciuto come utente autenticato si rivela non essere legato al server o al codice o all'utente, ma invece legato al pc da cui programmo, dove vado a cercare la causa?
    In altri termini quali malfunzionamenti potrebbero spiegare il fenomeno?
    Direi che qualche dato utilizzato dal server per identificare che la mia richiesta http appartiene ad un utente con una connessione aperta per qualche motivo non arriva.
    Ma allora come spiegare il diverso comportamento con diverse cartelle? Ho provato con chrome e firefox e di ciascuno ho svuotato la cache per vedere se cambiava qualcosa... nulla.
    Ho poi provato con IE... e tutto funziona!

    Qualche idea?

    Forse è il caso di porre la domanda in un'altra sezione del forum...
    Grazie dell'attenzione e buon weekend!
    --
    Think positive!

  7. #7
    Originariamente inviato da Portabile84
    Nel frammento di codice che hai riportato non vi è nulla che opera sulle directory e quindi che ci permette di capire dove può essere il problema...

    Così a freddo mi verrebbe a pensare anche ad un problema di diritti di accesso alla directory, vedi chmod.
    Grazie della risposta.
    Neanche nel resto del codice incluso mi pare ci sia nulla che abbia a che fare con le directory, comunque cambiare i diritti delle directory non sortisce alcun effetto. Come ho scritto prima sembra che il problema si presenti solo sul mio pc con win7, chrone e firefox. IE sembra non subirlo...
    --
    Think positive!

  8. #8
    Originariamente inviato da collina
    Neanche nel resto del codice incluso mi pare ci sia nulla che abbia a che fare con le directory, comunque cambiare i diritti delle directory non sortisce alcun effetto. Come ho scritto prima sembra che il problema si presenti solo sul mio pc con win7, chrone e firefox. IE sembra non subirlo...
    Potrebbe essere un problema di cache del browser. Quando non ti funziona prova a cancellare la cache del browser e ripeti la connessione

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.