THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour,

Je m'arrache les cheveux. Impossible de passer en mode développement.

J'ai vérifié 100 fois c'est la bonne IP, le fichier index_dev.php fonctionne sur d'autres machines mais là j'ai toujours un Forbidden en FO et BO.

Pour info : Hébergement Ouvaton avec répertoire /httpdocs à la place de /web cela peut-il jouer quelque part ?

Auriez-vous une idée pour me sortir de là ? Où regarder ?

D'avance merci.
Gildart

Offline


Facile : dans index_dev.php, tu vas ajouter juste avant "$request = Request::createFromGlobals();" le code suivant :

echo "Mon IP:" . $request->getClientIp();

2 solutions :

1) Tu ne vois une adresse IP qui s'affiche, et ce ne sera sans doute pas celle que tu as ajouté à la liste.
2) Tu ne vois que "Forbidden", et là il faudra modifier la config de ton hébergement, parce que la racine ne point sans doute pas où tu le crois.


OpenStudio Toulouse

Offline


Merci Roadster.

J'ai un troisième résultat : une page blanche sans "Forbidden"...

Donc il faut que je me rapproche d'Ouvaton ? Le chemin vers httpdocs n'est pas celui qu'il semble être ? Alors là ! ;-)

Bonne soirée.

Offline


Page blanche = erreur PHP

Regarde les logs d'erreur.


OpenStudio Toulouse

Offline


J'ai essayé avec :

$ip=$_SERVER['REMOTE_ADDR'];
echo "IP address= $ip";

et voici le résultat :

IP address= 10.0.20.16Forbidden

Ce qui n'est pas mon IP...

J'ai ajouté 10.0.20.16 à la liste des allowed IP et j'ai maintenant ce message BO et FO

InvalidArgumentException in RegisterHookListenersPass.php line 69: Hook hook_home_stats is unknown.

    in RegisterHookListenersPass.php line 69
    at RegisterHookListenersPass->logAlertMessage('Hook hook_home_stats is unknown.') in RegisterHookListenersPass.php line 344
    at RegisterHookListenersPass->getHook('hook_home_stats', '2') in RegisterHookListenersPass.php line 122
    at RegisterHookListenersPass->registerHook('Statistic\Hook\AdminHomeHook', object(Module), 'statistic.hook.admin.home', array('event' => 'hook_home_stats', 'type' => '2', 'method' => 'onMainHomeAdmin', 'active' => true, 'templates' => '')) in RegisterHookListenersPass.php line 93
    at RegisterHookListenersPass->processHook(object(TheliaContainerBuilder), object(Definition)) in RegisterHookListenersPass.php line 60
    at RegisterHookListenersPass->process(object(TheliaContainerBuilder)) in Compiler.php line 107
    at Compiler->compile(object(TheliaContainerBuilder)) in ContainerBuilder.php line 589
    at ContainerBuilder->compile() in TheliaContainerBuilder.php line 32
    at TheliaContainerBuilder->customCompile() in Thelia.php line 518
    at Thelia->buildContainer() in Kernel.php line 510
    at Kernel->initializeContainer() in Kernel.php line 133
    at Kernel->boot() in Thelia.php line 237
    at Thelia->boot() in Kernel.php line 182
    at Kernel->handle(object(Request)) in index_dev.php line 42

C'est louche !

Offline


10.0.20.16 c'est une IP privée, non routable sur Internet. Tu dois passer par un proxy ou un truc du genre à un moment ou à un autre. Mais bon, c'est l'IP avec laquelle la machine te voit. C'est ça l'important, non ?

"Hook hook_home_stats is unknown" : rien de louche, le hook n'existe pas dans la base de données (table hook). C'est dû au module Statistic: https://github.com/thelia-modules/Statistic/issues/11


OpenStudio Toulouse

Offline


Merci Roadster pour les infos.
J'ai contacté Ouvaton il n'y a pas d'accès au SSH pour passer les commandes de l'issue, mais ils sont réactifs...
Bonne journée

Offline


Pas la peine d'utiliser des commandes. Tu remplaces le code de local/modules/Statistic/Statistic.php par celui ci https://github.com/Gilles-L-Artaban/Sta … tistic.php, tu vides le cache et ça devrait faire la blague.


OpenStudio Toulouse

Offline


Bon bah ça veut pas rigoler aujourd'hui... pareil.

Offline


Essaie d'ajouter le hook à la main dans la table hook.


OpenStudio Toulouse

Offline


J'ai vidé le cache et activé/désactivé le module Statistic et c'est bon !!!
Encore un grand merci.

Offline


Pour info la réponse d'Ouvaton

L'adresse 10.0.20.16 est l'IP interne de notre proxy. Thelia2 doit utiliser $_SERVER['REMOTE_ADDR'] (qui donne l'adresse interne), au lieu de $_SERVER['HTTP_X_FORWARDED_FOR'] qui donne la vraie IP du visiteur.

Offline

Offline


Bonjour,

Je rouvre ce fil car j'ai eu exactement le même problème et la ligne de code fournie par Roadster me retournai une page blanche donc j'ai fait ça pour voir ce que Thelia recevait:

echo "IP Thelia:" . $_SERVER['REMOTE_ADDR'];

Et j'ai constaté que l'adresse maintenant retournée par $_SERVER['REMOTE_ADDR'] est apparemment une IPV6 !! N'écoutant que mon courage (que j'ai pris à 2 mains :-), j'ai rajouté directement l'IPV6 dans $trustedIP et bing, ça marche direct !!

Ici je suis sur une Freebox, ça voudrait donc dire que maintenant Free retourne une IPV6 ... je ne me trompe pas, c'est bien dans ce sens ? ou alors c'est OVH (hébergemlent mutu d'un client) qui a un proxy qui s'insère au milieu et qui retourne une IPV6 ? une recherche sur Ultratools me donne l'impression que c'est une IPV6 Proxad ce qui semble donc pointer sur l'adresse fournie par la Freebox ...

Si ça peut servir à quelqu'un :-)

Pierre

Offline