Aggiunta di nuovi siti su eSyndiCat non funzionante: come risolvere

Le web directory hanno segnato un’epoca del web ed essere presenti in più web directory possibili era alla base di una buona indicizzazione sui motori di ricerca. Probabilmente oggigiorno un link building fatto esclusivamente su questo tipo di siti con altissima densità di link e scarsi contenuti perlopiù estremamente variegati non porta da nessuna parte, tuttavia le web directory sono vive e vegete tant’è vero che oggi mi è capitato di risolvere un problema su eSyndiCat, uno degli script più popolari in questo settore.

In pratica tutti i siti che si cercava di aggiungere risultavano down. Andando a fare reverse engineering sul codice, sono arrivato al punto di scoprire che lo script per verificare l’esistenza di un sito prima di tutto andava a controllare l’impostazione allow_url_fopen, salvo poi utilizzare curl come ruota di scorta (o fallback, se preferite). Nel caso anche la chiamata curl non fornisse alcun risultato, veniva mostrato il messaggio di errore.

La cosa strana era che mentre allow_url_fopen era impostato a On, una chiamata ad ini_get(‘allow_url_fopen’) non restituiva alcun tipo di risultato. Pertanto lo script passava ad eseguire una chiamata curl, ma la funzione curl_exec era disabilitata per motivi di sicurezza. Potendo io abilitare curl_exec l’ho fatto, ma se non avete la possibilità di agire su questa impostazione e siete sicuri che allow_url_fopen sia abilitato, potete modificare la seguente riga di codice che si trova in includes/util.php

if (ini_get('allow_url_fopen'))

in questo modo

if (ini_get('allow_url_fopen') !== '0')

Non è comunque la prima volta che una chiamata fallita a curl_exec o curl_multi_exec si traduce in problemi molto difficili da rilevare: quando vi ritrovato a debuggare codice scritto da altri iniziate da questo tipo di funzioni.

Unplugged - no computer, no internet, possible?

Leave a Comment

%d blogger hanno fatto clic su Mi Piace per questo:

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi