Login probleem  Naar boven

  • Vandaag doet zich opeens een vreemd login probleem voor.

    Wanneer ik probeer in te loggen met een willekeurige user, krijg ik
    wel een session cookie, maar ik word niet ingelogd. Zowel in IE als Firefox
    de caches geleegd en cookies weggegooid, maar het probleem blijft.

    Ik zou ook verwachten (en volgens mij was dat voorheen ook zo) dat
    ik aan de serverkant een php session-file zou moeten hebben wanneer
    ik succesvol inlog. Die is dus ook onvindbaar (zouden in /var/tmp moeten staan)

    Wanneer ik bewust een foutief password invul, krijg ik wel een melding
    dat userid/passwd niet overeenkomen. Bij een geldig password krijg ik dus
    bovenstaand gedrag.

    Iemand die dit herkent of al eens eerder heeft opgelost ?

    Waar in de Postnuke source worden die sessie Files eigenlijk gemaakt (heb het nog niet kunnen vinden) ?

    Config:
    Postnuke 0.750
    MySQL 5.0.18
    Apache 2.0.54
    PHP 4.4.0
    Gentoo Linux 2005.0
  • Volgens mij slaat PostNuke de sessie variabelen op in de DB.
    Je gebruikt niet toevallig frames oid?

    En 'opeens' is altijd erg onwaarschijnlijk... ;) Ondanks dat de vraag overbodig zou zijn: wat is er gewijzigd voordat dit probleem voordeed? Net nieuwe modules toegevoegd misschien?

    BC, kom op met je one-liner. Gaarne één zin met het antwoord! icon_lol
  • TebVolgens mij slaat PostNuke de sessie variabelen op in de DB.
    Je gebruikt niet toevallig frames oid?

    En 'opeens' is altijd erg onwaarschijnlijk... ;) Ondanks dat de vraag overbodig zou zijn: wat is er gewijzigd voordat dit probleem voordeed? Net nieuwe modules toegevoegd misschien?

    BC, kom op met je one-liner. Gaarne één zin met het antwoord! icon_lol


    Je hebt gelijk, opeens bestaat niet :wink:

    De laatste update die op het systeem is gedaan is mysql 5.0.17 -> 5.0.18, maar
    ik kan in de mysql changelog niets vinden wat eventueel een oorzaak zou kunnen zijn.

    Ik heb geen nieuwe PN modules toegevoegd.
  • hmmm... kijk toch of je van tabel pn_sessions via phpmyadmin oid een backup kunt maken, en leeg hem daarna. Misschien dat dit gaat helpen.
    Zo niet, kun je je backup terug zetten.
  • Nou ja zeg.

    Nog even verder gekeken dan mijn neus lang is icon_redface

    Inderdaad de sessie tabel gevonden (bij mij nuke_session_info).

    Ik kijk wat er inzit, zie ik allemaal hele korte session-id's en getruncate ip-adressen. Huh?

    Bij vergelijk van de tabel definitie met wat het zou moeten zijn blijkt pn_sessid opeens een varchar(10) te zijn en pn_ipaddr varchar(7)! Terwijl die resp. 32 en 20 moet zijn :shock:

    Goede nieuws: ik kan weer inloggen
    Slechte nieuws: ik weet niet hoe de vorige situatie is ontstaan.

    In ieder geval bedankt aan iedereen die heeft meegedacht.
  • Ontstaan zal mss met je upgrade te maken hebben. Maar mooi dat het is opgelost iig.
  • Ik las deze thread ivm mn eigen inlogprobleem. maar ik kan geen tabel _session_info vinden in de database (7.6.2). Moet die er wel zijn?
    Is het overigens een probleem als er geen prefix is voor de tabellen, ze dus allen met _ beginnen.
  • denelanIk las deze thread ivm mn eigen inlogprobleem. maar ik kan geen tabel _session_info vinden in de database (7.6.2). Moet die er wel zijn?
    Is het overigens een probleem als er geen prefix is voor de tabellen, ze dus allen met _ beginnen.
    Er moet wel degelijk een $prefix_session_info zijn. Prefix leeg zou betekenen dat de tabel met een underscore begint. Eventueel zelf aanmaken met
    Code
    CREATE TABLE `_session_info` (
      `_sessid` varchar(32) NOT null default '',
      `_ipaddr` varchar(20) NOT null default '',
      `_firstused` int(11) NOT null default '0',
      `_lastused` int(11) NOT null default '0',
      `_uid` int(11) NOT null default '0',
      `_vars` blob,
      PRIMARY key  (`_sessid`)
    ) ENGINE=MyISAM


    Echter... het valt goed te controleren of het aan de prefix ligt (zou het niet weten eigenlijk). Exporteer je database. Wijzig in de gegenereerde SQL file alle items met
    Code
    CREATE TABLE _
    ...
    INSERT INTO _
    naar
    Code
    CREATE TABLE pn_
    ...
    INSERT INTO pn_
    Verwijder vervolgens alle regels die beginnen met "INSERT INTO pn_session_info"

    Deze dump importeer je weer, je overschrijft dan geen gegevens omdat er nieuwe tabellen worden aangemaakt.

    Open vervolgens je config.php file en wijzig $pnconfig['prefix'] = ''; in $pnconfig['prefix'] = 'pn';. Lost dit je probleem niet op, kun je snel weer naar de oude situatie door je config.php aan te passen, dan worden de oude tabellen weer aangesproken.

    __________
  • zo... jij bent snel ;)
    Wilde net komen aanpassen dat ik opeens die session_info wel zie en dat die behoorlijk gevuld is zelfs. Ik kan uit de info in de tabel geen data iod opmaken jammergenoeg. Een aantal records hebben geen IP adres.
    Kan ik deze ongestraft gewoon leeggooien?
    Voor zover ik kan overzien is het beginnen met een _ niet 'het' probleem, dus dat bekijk ik later nog eens. Alvast bedankt voor de uitleg.
  • denelanzo... jij bent snel ;)
    icon_lol
    denelanEen aantal records hebben geen IP adres.
    Kan ik deze ongestraft gewoon leeggooien?
    Weg ermee, doorspoelen en niet meer terug halen. Users zullen misschien opnieuw in moeten loggen als je de beveiligingsinstelingen op 'laag' hebt staat, en 't is ook naar als iemand net een verhaal aan het typen en zijn sessie is ineens weg. Eea ook afhankelijk van cookielifetime op je server.

    Lang verhaal kort maken:
    Code
    TRUNCATE `_session_info`
    is altijd geoorloofd ;)

    __________
  • Teb
    denelanzo... jij bent snel ;)
    icon_lol

    icon_rolleyes pff veel te snel lol

    denelanEen aantal records hebben geen IP adres.
    Kan ik deze ongestraft gewoon leeggooien?
    Weg ermee, doorspoelen en niet meer terug halen. Users zullen misschien opnieuw in moeten loggen als je de beveiligingsinstelingen op 'laag' hebt staat, en 't is ook naar als iemand net een verhaal aan het typen en zijn sessie is ineens weg. Eea ook afhankelijk van cookielifetime op je server.


    Lang verhaal kort maken:
    Code
    TRUNCATE `_session_info`
    is altijd geoorloofd ;)


    Oeps, zie je daar ga je te snel...
    Die code: is dat php, dus plak ik in een phptje en draaien maar?
    kan het ook met phpmyadmin? (leegmaken)

    Dan hoop ik dat daarmee het/een probleem (inloggen) is opgelost, er worden namelijk geen cookies weggeschreven. En ja, de browser accepteert ze wel, heb al zat POSTNUKESID's in cookies, behalve deze.....
  • Naar PHPMyAdmin, open je database, en klik op de link SQL bovenaan. Daar kun je custom SQL code invoeren. Dus, dit is geen php, dit is SQL! :)

    Lees eventueel ook even http://zikula.nl/Nie…ote-snelheid-winst/, zou misschien nog van toepassing kunnen zijn.

    __________
  • Ik had een link "legen" die hetzelfde resultaat gaf ;)
    Maar voor de site maakte t dus niet uit.....
    K zal voor de duidelijkheid een nieuwe thread openen, want na 6 uur fora lezen ben ik een hoop wijzer, maar niets opgeschoten....
  • Moest ik nog een one-liner?

    __________
    Brave Cobra
  • Hier graag :wink:
    Heb zelf ff weinig tijd nl.

    __________

Deze lijst is gebaseerd op gebruikers die de afgelopen 10 minuten online waren

 

Taal

Preferred language