HTH-C.com - Forum
Latest News Latest Threads
Neuerung: Persönliche Galerie
Informationen zur Übernahme der Erweite..
HTH Blog - Version 2.0
#HTH.Systems - Betatester gesucht
Neueröffnung - PHPKit-Award.de
HTH Webchat v3
Letzter Beitrag Happy Birthday Bottyline Weiblicher Benutzer Heute, 0:00 Zeit der letzten Antwort
Letzter Beitrag PHPKit 1.6.6 Treffnix Männlicher Benutzer 14.03.2024 - 06:20 Zeit der letzten Antwort
Letzter Beitrag Gibt es eigentlich noch jemand der PHPki.. Treffnix Männlicher Benutzer 14.03.2024 - 06:19 Zeit der letzten Antwort
Letzter Beitrag Herzlich Willkommen Botty Männlicher Benutzer 22.02.2024 - 13:50 Zeit der letzten Antwort
Letzter Beitrag PHPKit 1.6.6 ohne ASCE auf PHP8x Myrddin Männlicher Benutzer 22.03.2023 - 13:36 Zeit der letzten Antwort
 53.545 Posts & 4.945 Themen in 78 Foren
Forenübersicht » Support / Hilfe » PHPKit 1.6.4 & 1.6.5 & 1.6.6 » Support » Kein Login mit IPv6 adresse

Kein Login mit IPv6 adresse
3 Beiträge in diesem Thema
 Seiten (1):    1  
20.06.2016 - 17:05 Uhr
Beitrag: #1
Seit heute bin ich bei der Telekom und nutze den Hybrid Tarif. Dazu wird scheinbar nun auf IPv6 umgestellt, was ein Problem mit dem PHPKIT ist.

Hier mal ein bsp.

http://www.phpkit.com/de/forum/?path=forumsthread&threadid=43558#head

Schaefchen:
Zitat
Das Problem lag lediglich an der Internetprotokoll Version!
TCP/IPv6...


Aktion (Win7 64bit):
-> Netzwerk und Freigabecenter
-> Lan-Verbindung (bzw. die Verbindung, die für das Internet zuständig ist)
-> Status von Lan-Verbindung -> Eigenschaften
-> Internetprotokoll Version 6 -> Haken entfernen
-> Übernehmen und IE Neustart
läuft!


Jetzt stellt sich mir folgende Frage:
IPv4 ist aktiviert, IPv6 auch -> Einloggen in Administrationsbereich nicht möglich!
IPv4 ist aktiviert, IPv6 nicht -> Einloggen in Administrationsbereich geht!
Also hat das PHPKit ein Problem mit TCP/IPv6 ?! oder Muss ich irgend etwas besonderes beachten beim 6er??? Habe mich bisher noch nicht wirklich mit der Version 6 auseinander gesetzt.....




Könnte man das Kit nicht anpassen, damit die Anmeldung auch mit einer IPv6 adresse geht? PHPKIT selbst scheint bisher kein Interesse zu haben, dieses Problem zu lösen.

 
Zum Anfang der Seite
20.06.2016 - 21:10 Uhr
Beitrag: #2
Natürlich haben die Entwickler kein Interesse - wie so viele Jahre zuvor auch nicht ..  

Was das Problem angeht (ich kanns bei mir nicht direkt testen) hab ich da vielleicht eine Vermutung.
Die IPv4 besteht ja aus einer Zeichenfolge (glaub auch nur Zahlen) wie diese (Lokalhost):



1

PHP-Quelltext

127.0.0.1

IPv6 sieht so aus (wieder Lokalhost):



1

PHP-Quelltext

0000:0000:0000:0000:0000:0000:0000:0001

Das PHPKIT speichert für jeden User die aktuelle Session, also den Aufenhalt - egal ob eingelogt oder nur als Gast.
Darunter halt auch die IP. Und genau da liegt wahrscheinlich das Problem. Den der Speichersatz für die IP beträgt 15 Zeichen. Ausreichend für die alte IPv4. Die IPv6 aber hat (oder kann bis zu?) 39 Zeichen ( siehe hier ).

Deswegen vermute ich, wenn der Zeichensatz in der DB abgeändert wird sollte es keine Probleme mit den Login geben.

Da nicht jeder direkten Zugang zur DB hat hier mal ein schnelles Script dafür:
  • pkinc/public/DBUpdateIPv6.php
    • Erstelle o.g. Datei (vorhandene .php-Datei kopieren und die kopierte Datei wie oben umbenennen) und füge folgenden Code ein:



      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      59
      60
      61
      62
      63
      64
      65
      66
      67
      68
      69
      70
      71
      72
      73
      74
      75
      76
      77
      78
      79
      80
      81
      82
      83
      84
      85
      86
      87
      88
      89
      90
      91
      92
      93
      94
      95
      96
      97
      98
      99
      100
      101
      102
      103
      104
      105
      106
      107
      108
      109
      110
      111
      112
      113
      114
      115
      116
      117
      118
      119
      120
      121
      122
      123
      124
      125
      126
      127
      128
      129
      130
      131
      132
      133
      134
      135
      136
      137
      138
      139
      140
      141
      142
      143
      144
      145
      146
      147
      148
      149
      150
      151
      152

      PHP-Quelltext

      <?PHP
      If (!Defined('pkFRONTEND') || pkFRONTEND!='public')
          {
          Die(
      'Direct access to this location is not permitted.');
          }


      If (
      Intval(pkGetUservalue('id'))!==1)
          {
          
      pkEvent('page_not_found');
          return;
          }


      If (IsSet(
      $_POST) && !Empty($_POST))
          {
          
      # SQL Command
          
      $SQLPublic
              
      ="
              SELECT
                  DATA_TYPE,
                  CHARACTER_MAXIMUM_LENGTH
              FROM
                  INFORMATION_SCHEMA.COLUMNS
              WHERE
                  table_name = '"
      .pkSQLTAB_SESSION."'
                  AND
                  column_name = 'session_ip'
              "
      ;
          
      $SQLAdmin
              
      ="
              SELECT
                  DATA_TYPE,
                  CHARACTER_MAXIMUM_LENGTH
              FROM
                  INFORMATION_SCHEMA.COLUMNS
              WHERE
                  table_name = '"
      .pkSQLTAB_ADMINSESSION."'
                  AND
                  column_name = 'session_ip'
              "
      ;
          
      # SQL Query
          
      $SQLPublic=$SQL->Fetch_Row($SQL->Query($SQLPublic));
          
      $SQLAdmin =$SQL->Fetch_Row($SQL->Query($SQLAdmin));


          
      # Var
          
      $Public['Type']         =Trim  ($SQLPublic[0]);
          
      $Public['CharLength']   =Intval($SQLPublic[1]);
          
      $Public['Update']       =0;

          
      $Admin['Type']          =Trim  ($SQLAdmin[0]);
          
      $Admin['CharLength']    =Intval($SQLAdmin[1]);
          
      $Admin['Update']        =0;


          
      # Update to IPv6 
          
      If (IsSet($_POST['IPv6']))
              {
              
      # Check
              
      If ($Public['CharLength']===15)
                  {
                  
      $Public['Update']
                      =
                      
      $SQL->Query("ALTER TABLE `".pkSQLTAB_SESSION."` CHANGE `session_ip` `session_ip` VARCHAR(39)")
                      ? 
      TRUE
                      
      FALSE
                      
      ;
                  }
              If (
      $Admin['CharLength']===15)
                  {
                  
      $Admin['Update']
                      =
                      
      $SQL->Query("ALTER TABLE `".pkSQLTAB_ADMINSESSION."` CHANGE `session_ip` `session_ip` VARCHAR(39)")
                      ? 
      TRUE
                      
      FALSE
                      
      ;
                  }
              }


          
      # Update to IPv4 
          
      If (IsSet($_POST['IPv4']))
              {
              
      # Check
              
      If ($Public['CharLength']===39)
                  {
                  
      $Public['Update']
                      =
                      
      $SQL->Query("ALTER TABLE `".pkSQLTAB_SESSION."` CHANGE `session_ip` `session_ip` VARCHAR(15)")
                      ? 
      TRUE
                      
      FALSE
                      
      ;
                  }
              If (
      $Admin['CharLength']===39)
                  {
                  
      $Admin['Update']
                      =
                      
      $SQL->Query("ALTER TABLE `".pkSQLTAB_ADMINSESSION."` CHANGE `session_ip` `session_ip` VARCHAR(15)")
                      ? 
      TRUE
                      
      FALSE
                      
      ;
                  }
              }
          }
      ?>
      <Table Class="standard" Border="0" CellSpacing="1" CellPadding="4" Width="100%">
          <TR>
              <TD Class="heads">PHPKIT ( 1.6.4. bis 1.6.6.) &#187; Update / Fix &#187; IPv4 auf IPv6</TD>
          </TR>
          <TR>
              <TD Class="standard" align="center">
                  <Form Action="?path=<?PHP Echo $path?>" Method="Post">
                      <Input Type="Submit" Name="IPv6" Value="Auf IPv6 updaten" />
                      <Input Type="Submit" Name="IPv4" Value="Auf IPv4 zurück-updaten" />
                  </Form>
                  <BR />
                  <BR />

                  <?PHP If (IsSet($_POST) && !Empty($_POST)): ?>
                      <Span Style="Font-Weight: Bold;">Update auf <?PHP Echo IsSet($_POST['IPv6']) ? 'IPv6' 'IPv4'?>:</Span>
                      <BR />
                      <BR />
                  <?PHP EndIf; ?>

                  <?PHP If (IsSet($Public['Update'])): ?>
                      <?PHP If ($Public['Update']===TRUE): ?>
                      <Span Style="Color: Green;">Die Tabelle "<?PHP Echo pkSQLTAB_SESSION?>" wurde erfolgreich abgeändert.</Span>
                      <?PHP ElseIf ($Public['Update']===FALSE): ?>
                      <Span Style="Color: Red;">Die Tabelle "<?PHP Echo pkSQLTAB_SESSION?>" wurde nicht abgeändert.</Span>
                      <BR />
                      <?PHP $SQL->error(); ?>
                      <?PHP Else: ?>
                      <Span Style="">Die Tabelle "<?PHP Echo pkSQLTAB_SESSION?>" wurde bereits abgeändert.</Span>
                      <?PHP EndIf; ?>
                      <BR />
                  <?PHP EndIf; ?>

                  <?PHP If (IsSet($Admin['Update'])): ?>
                      <?PHP If ($Admin['Update']===TRUE): ?>
                      <Span Style="Color: Green;">Die Tabelle "<?PHP Echo pkSQLTAB_ADMINSESSION?>" wurde erfolgreich abgeändert.</Span>
                      <?PHP ElseIf ($Admin['Update']===FALSE): ?>
                      <Span Style="Color: Red;">Die Tabelle "<?PHP Echo pkSQLTAB_ADMINSESSION?>" wurde nicht abgeändert.</Span>
                      <BR />
                      <?PHP $SQL->error(); ?>
                      <?PHP Else: ?>
                      <Span Style="">Die Tabelle "<?PHP Echo pkSQLTAB_ADMINSESSION?>" wurde bereits abgeändert.</Span>
                      <?PHP EndIf; ?>
                  <?PHP EndIf; ?>
              </TD>
          </TR>
      </Table>



O.g. Datei wie oben beschrieben in den o.g. Ordner und wie folgt aufrufen:



1

PHP-Quelltext

http://www.DeineSeite.de/?path=DBUpdateIPv6

Es erscheint dann ein kleines Menu zum Updaten der Datenbank. Genauer gesagt der Tabellen _adminsession und _session, dort jeweils die Spalten session_ip auf die nötige Zeichenlänge 39. Man kann dies auch rückgängig machen. In diesen Fall die Zeichenlänge 15.


 
Zum Anfang der Seite
21.06.2016 - 07:46 Uhr
Beitrag: #3
Ich kann dir mal wieder gar nicht genug danken! Nach dem Update, komme ich wieder ins ACP. Danke dir  Glücklich

 
Zum Anfang der Seite
 Seiten (1):    1  

Ähnliche Themen
 
Support Support » PHPBB Login mit PHPKIT1.6.03 Login verbinden - Letzte Antwort von Teddybaerchen am 05.04.08, 19:19 PHPBB Login mit PHPKIT1.6.03 Login verbinden  (05.04.08, 19:19)
Modifikationen Modifikationen » IP Adresse - Letzte Antwort von Nueschtmanescht am 26.06.08, 22:37 IP Adresse  (26.06.08, 22:37)
Neuerungen Neuerungen » Email Adresse - Letzte Antwort von WEBI am 28.05.06, 23:06 Email Adresse  (28.05.06, 23:06)
Support Support » In der Taskbar komische Adresse - Letzte Antwort von sofix am 11.09.07, 19:11 In der Taskbar komische Adresse  (11.09.07, 19:11)
Support Support » Welcome Box 1.6.1 - es wird kein Text angezeigt - Letzte Antwort von WEBI am 22.02.08, 20:01 Welcome Box 1.6.1 - es wird kein Text angezeigt  (22.02.08, 20:01)

HTH-C.com - Webmedien & Community