Auteur Sujet: [tentative ratée] Comment rendre IPv6 compatible un SMF 2.0+  (Lu 8804 fois)

0 Membres et 1 Invité sur ce sujet

turold

  • Profil non complété
  • ******
  • Messages: 1 689
  • mp fermée (sauf admin et exceptions temporaires)
Comment rendre IPv6 compatible un SMF 2.0+
« Réponse #12 le: 02 janvier 2016 à 02:25:15 »
Ok mais il faut me dire exactement où ça coince parce que j'ai rien vu de tel.
Pour l'IP, c'est très simple à vérifier.
En bas à droite de tous tes messages, tu dois avoir ton IP qui s'affiche (celle au moment du dit message).
Pas de souci en IPv4. Vide en IPv6 dans ce forum.
C'est à droite de "Signaler au modérateur" suivi d'une mini-image, et normalement suivi de ton IP que t'avais quand tu a posté le dit message.
Uniquement dans tes messages, sinon la mention d'IP est remplacée par "IP archivée".

L'autre problème est lié. Pas d'IPv6, pas de comptage de ceux-ci...

vivien

  • Administrateur
  • *
  • Messages: 47 304
    • Twitter LaFibre.info
Comment rendre IPv6 compatible un SMF 2.0+
« Réponse #13 le: 02 janvier 2016 à 10:42:49 »
SMF 2.0 n'est pas entièrement compatibles IPv6, c'est assumé, la première version compatible IPv6 est la 2.1, en cours de dev.

Comme expliqué par turold, les log, les stats et le ban sont impactés.

Optix

  • AS41114 - Expert OrneTHD
  • Abonné Orne THD
  • *
  • Messages: 4 694
  • WOOHOO !
    • OrneTHD
Comment rendre IPv6 compatible un SMF 2.0+
« Réponse #14 le: 02 janvier 2016 à 13:00:23 »
J'ai du mal à comprendre comment un CMS arrive à gérer aussi mal les IP.

Il suffit simplement de regarder l'IP dans $_SERVER['REMOTE_ADDR'], augmenter la longueur du champ qui va bien dans MySQL et boom.

Ca me parait fou d'avoir à modder tout le CMS juste pour ça.

Bon courage et bonne année ;)

cali

  • Officiel Ukrainian Resilient Data Network
  • Fédération FDN
  • *
  • Messages: 2 401
    • Ukrainian Resilient Data Network
Comment rendre IPv6 compatible un SMF 2.0+
« Réponse #15 le: 02 janvier 2016 à 13:39:26 »
Ok, on va tester tout ça.

vivien

  • Administrateur
  • *
  • Messages: 47 304
    • Twitter LaFibre.info
Comment rendre IPv6 compatible un SMF 2.0+
« Réponse #16 le: 02 janvier 2016 à 13:50:35 »
$_SERVER['REMOTE_ADDR'] dans SMF est modifié je ne sais où car il est vide en cas de connexion IPv6.

Cf le code que j'ai mis en bas de page qui teste si $_SERVER['REMOTE_ADDR'] est vide :
SMF n'est toujours pas compatible IPv6.

Voici le petit code PHP que j'ai rajouté, pour afficher si on surf en IPv6 (ligne affiché en bas de chaque page) :
        echo '
        <div id="footer_section"><div class="frame">
                Vous utilisez <a href="https://lafibre.info/ipv6/ipv6-pour-lafibre-info/"><font color="'
;
                if(empty(
$_SERVER['REMOTE_ADDR'])) echo 'green">IPv6</font></a> (Félicitations!)';
                else echo 
'red">IPv4</font></a>';
                echo 
' avec le port <a href="https://ip.lafibre.info" target="_blank"><font color="';
                if (
$_SERVER['REMOTE_PORT'] < "32768") echo 'red';
                else echo 
'green';
                echo 
'">TCP ',$_SERVER['REMOTE_PORT'],'</font></a> <small>(<a href="https://lafibre.info/systeme-exploitation/local_port_range/" title="Plage de ports dynamique du protocole TCP" target="_blank">Plus d\'informations</a>)</small>';


Je teste l'absence d'adresse IP dans $_SERVER['REMOTE_ADDR'] pour déduire que le surf se fait en IPv6.

$_SERVER['REMOTE_ADDR'] empty => IPv6 else IPv4

Optix

  • AS41114 - Expert OrneTHD
  • Abonné Orne THD
  • *
  • Messages: 4 694
  • WOOHOO !
    • OrneTHD
Comment rendre IPv6 compatible un SMF 2.0+
« Réponse #17 le: 02 janvier 2016 à 15:11:56 »
Citer
$_SERVER['REMOTE_ADDR'] dans SMF est modifié je ne sais où car il est vide en cas de connexion IPv6.
$_SERVER['REMOTE_ADDR'] est vide quand tu appelles PHP en ligne de commande. Je soupçonne un reverse proxy mal configuré dans ton cas.

vivien

  • Administrateur
  • *
  • Messages: 47 304
    • Twitter LaFibre.info
Comment rendre IPv6 compatible un SMF 2.0+
« Réponse #18 le: 02 janvier 2016 à 15:13:43 »
Je ne l'appelle pas depuis une ligne de commande, je fais la même chose que pour https://ip.lafibre.info sauf que le résultat est différent.

cali

  • Officiel Ukrainian Resilient Data Network
  • Fédération FDN
  • *
  • Messages: 2 401
    • Ukrainian Resilient Data Network
Comment rendre IPv6 compatible un SMF 2.0+
« Réponse #19 le: 02 janvier 2016 à 16:35:09 »
Ok, ça marche pour moi, en fait le code vérifie qu'il s'agit d'une IPv4 valide donc j'ai rajouté des OR avec une regex IPv6 et maintenant j'ai bien l'adresse qui s'affiche sur les posts. Je sais pas pourquoi mais dans le code les devs traitent les adresses rfc1918 comme non valides.

PS: pour pas s'emmerder, copier le QueryString.php de SMF 2.1 beta2. Ne pas oublier de faire un backup de l'ancien au cas où :P

turold

  • Profil non complété
  • ******
  • Messages: 1 689
  • mp fermée (sauf admin et exceptions temporaires)
Comment rendre IPv6 compatible un SMF 2.0+
« Réponse #20 le: 02 janvier 2016 à 16:58:18 »
PS: pour pas s'emmerder, copier le QueryString.php de SMF 2.1 beta2. Ne pas oublier de faire un backup de l'ancien au cas où :P
L'astuce aussi dangereuse que le mod.^^
Effectivement, précaution, précaution.

Par contre, je n'ai pas regardé son contenu. Est-ce que cela agit pour toutes les fonctions qui utilisent l'IP, ou seulement juste voir ses IP dans ses messages?

Et comme Corrector dans un autre sujet, j'ai toujours cru que l'ID dans les cookies servaient à compter les invités.
Mais à quoi pense les 4 devs officiels de SMF?

cali

  • Officiel Ukrainian Resilient Data Network
  • Fédération FDN
  • *
  • Messages: 2 401
    • Ukrainian Resilient Data Network
Comment rendre IPv6 compatible un SMF 2.0+
« Réponse #21 le: 02 janvier 2016 à 17:18:45 »
C'est pas dangereux, dans le nouveau code il y a juste des fonctions pour remettre les 0 ommis par la convention. J'aime pas trop cette approche.

turold

  • Profil non complété
  • ******
  • Messages: 1 689
  • mp fermée (sauf admin et exceptions temporaires)
Comment rendre IPv6 compatible un SMF 2.0+
« Réponse #22 le: 02 janvier 2016 à 17:25:15 »
C'est pas dangereux
ok
dans le nouveau code il y a juste des fonctions pour remettre les 0 ommis par la convention. J'aime pas trop cette approche.
En IPv4, IPv6, ou les 2?
Dans tous les cas, cela va surcharger l'info des IP.

cali

  • Officiel Ukrainian Resilient Data Network
  • Fédération FDN
  • *
  • Messages: 2 401
    • Ukrainian Resilient Data Network
Comment rendre IPv6 compatible un SMF 2.0+
« Réponse #23 le: 02 janvier 2016 à 17:28:26 »
okEn IPv4, IPv6, ou les 2?
Dans tous les cas, cela va surcharger l'info des IP.

Non ce sont des fonctions qui sont utilisées juste pour faire des vérifications, dans la db le code écrit les adresses sous leur forme abrégée.