Visualizzazione risultati 1 fino 4 di 4

Discussione: Errore 403 con XMLReader::open

  1. #1
    devpunk non è connesso Neofita
    Data registrazione
    24-04-2018
    Messaggi
    2

    Predefinito Errore 403 con XMLReader::open

    Ciao a tutti, premetto che ho cercato su google prima di scomodare voi della comunita' ma proprio non riesco a venire a capo di questo problema.

    SONO RIUSCITO A SCOPRIRE COS'ERA SUCCESSO, allora il codice qui sotto e' corretto, l'errore che vedevo dipendeva dalla cache di cloudflare e a qualcosa che predentemente non funzionava a dovere.
    QUINDI PRIMA DI INZIARE A SVILUPPARE UN SITO DISABILITATE CLOUDFLARE O IMPOSTATELO IN MODALITA' SVILUPPO e vi risparmierete un sacco di rogne


    Codice:
    A PHP Error was encountered
    Severity: Warning
    
    Message: XMLReader::open(https://devpunk.altervista.org/vega/public/xml/changelog.xml): failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden
    
    Filename: models/Changelog_model.php
    
    Line Number: 29
    Questo errore mi si verfica solo dopo la pubblicazione del sito qui su altervista, su localost funziona tutto correttamente.
    Da quel che ho letto potrebbe essere un problema di permessi per la cartella ma se provate a cliccare su: https://devpunk.altervista.org/vega/.../changelog.xml
    il file e' acessibile.

    nella cartella vega, nella public e in xml non sono presenti file htaccess l'unico file htaccess e presente nella root del sito.

    Contenuto file .htaccess della root (https://devpunk.altervista.org/)
    Codice:
    # # av:php5-engine
    AddHandler av-php7 .php
    Ma credo che nemmeno quello centri

    Posto il codice php della funzione che mi sta facendo pensare
    Codice PHP:
    public function getLogs()
        {
            
    $reader = new XMLReader();
            
    $reader->open('https://devpunk.altervista.org/vega/public/xml/changelog.xml'); //questa e' la linea 29

            
    $changeLogList = new ItemList();
            
            while (
    $reader->read())
            {
                
    $isElement $reader->nodeType === XMLReader::ELEMENT;
                
                if (
    $isElement && $reader->name == 'changelogEntry')
                {
                    
    $changeLogID $reader->getAttribute($this->colum_logId);
                    
    $version     $reader->getAttribute($this->colum_version);
                    
    $date        $reader->getAttribute($this->colum_date);
                    
    $content     $reader->readInnerXml();
                    
                    
    $changeLogEntry = new ChangeLogWrapper($changeLogID$version$date$content);
                    
                    
    $changeLogList->Add($changeLogEntry);
                }
            } 
    Un ultima cosa io sto usando un framework quindi se possibile preferirei usare usare gli url assoluti, se necessario modifichero' il framework per poter usare anche quelli relativi ma preferirei non farlo.

    Mi affido alla vostra esperienza che sicuramente e' superiore alla mia dato che proprio non so dove mettere le mani per sistemare questo problema e sara' almeno un ora che cerco su google una soluzione

    UPDATE
    Il problema sembra verificarsi in modo sporadico funziona una volta su 2-3, delle volte va delle altre no, e credo che non ci sia di peggio, ho appena testato su due pc e due cellulari
    Ultima modifica di devpunk : 08-07-2018 alle ore 16.46.02

  2. #2
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    10,816

    Predefinito

    Non ho capito se hai risolto disabilitando cloudFlare.

    Comunque, usando gli URL assoluti è come se la pagina venisse letta da "esterno", quindi dovresti sbloccare le connessioni server to server (se a volte funziona, ipotizzo tu le abbia sbloccate).

    Come mai non utilizzi un riferimento relativo?

    Codice:
    $reader->open('./vega/public/xml/changelog.xml');
    Ciao!

  3. #3
    devpunk non è connesso Neofita
    Data registrazione
    24-04-2018
    Messaggi
    2

    Predefinito

    Si il problema dell'errore che compariva e scompariva era dovuto al chaching di cloud flare.
    Il problema del riferimento e' dovuto alle funzioni di manipolazione degli url messe a disposizione dal framework che sto attualmente utilizzando, nessuna genera un riferimento relativo, non mi ero mai imbatutto su questo problema e penso che comunque aggiungero' questa funzione che sembra essere stata sottovalutata durante la realizzazione della libreria degli url.
    Il problema e' stato risolto.
    Mi scuso per aver creato un post che alla fine intasa il forum per nulla, ma non sono riuscito a trovare il tasto per eliminarlo.

  4. #4
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    10,816

    Predefinito

    Figurati, hai fatto benissimo a chiedere. Lascio questa discussione perché magari può essere utile a qualcuno.

    Ciao!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •