FormaLMS 2.2 - Problema con Porta Website diversa dalla 80

Installazione, configurazione generale, notifiche, API, lingue, problemi server
Post Reply
User avatar
lgreco82
FormaLms User
Posts: 38
Joined: Wed Jun 27, 2018 2:24 pm
Version: forma.lms 2.0

FormaLMS 2.2 - Problema con Porta Website diversa dalla 80

Post by lgreco82 »

Ciao a tutti,
ho riscontrato che facendo girare il webite di FormaLMS su una porta diversa dalla 80 (esempio 8080) al primo redirect il sito punta sempre sulla 80.
Da un'analisi sembrerebbe che il problema sia nel metodo server_name() del file lib/lib.get.php e precisamente alla riga 390.

Il problema sembra essere che $_SERVER['SERVER_NAME'] non restituisca anche il valore della porta e quindi ogni chiamata successiva punta alla 80 e non più alla porta originale.
Modificando la riga come segue il problema sembrerebbe risolversi.

386: public static function server_name() {
387: if(isset($_SERVER['HTTP_X_FORWARDED_SERVER'])) {
388: return $_SERVER['HTTP_X_FORWARDED_SERVER'];
389: } else {
390: return $_SERVER['HTTP_HOST'];
391: }
392: }

Mi fate sapere se questa può essere la soluzione al problema?

Grazie,
Luca

User avatar
CisterNino
FormaLms User
Posts: 63
Joined: Mon May 06, 2013 2:59 pm

Re: FormaLMS 2.2 - Problema con Porta Website diversa dalla 80

Post by CisterNino »

Ciao Luca,
in effetti il problema è presente nella tua versione. Ma è stato risolto nelle versioni successive.
Per l'esattezza, se non vuoi aggiornare la tua versione di forma puoi utilizzare la funzione è stata aggiornata come segue:

public static function server_name()
{
if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])) {
return $_SERVER['HTTP_X_FORWARDED_HOST'];
} elseif (isset($_SERVER['HTTP_HOST'])) {
return $_SERVER['HTTP_HOST'];
} else {
return $_SERVER['SERVER_NAME'];
}
}
I'm Livio, the Two. If you need, you can contact the one.

alfa24
Senior Boarder
Posts: 1012
Joined: Fri Nov 24, 2017 8:45 am
Version: forma.lms 1.4.2

Re: FormaLMS 2.2 - Problema con Porta Website diversa dalla 80

Post by alfa24 »

Oppure fai redirect da vhost.
Oppure da .htaccess.
Oppure altri 1000 modi ;)
I'm Jasmines, the One. If you need, you can contact me.

Post Reply