Veilige manier om gebruikers over te zetten

  • hallo leden van criminalspoint.


    hoe kan ik alle leden in een keer een nieuwen codatie geven van wachtwoord veilig?



    ik heb een database met meer dan 8.144 leden op al mijn websites.


    de wachtoorden zijn al goed gecodeerd met zout en peper, maar nu wil ik de wachtwoorden allemaal te gelijk nogmaals dubbel coderen dus de oude codatie moet een nieuwen worden.


    als voorbeeld neem ik


    PHP
    $select = mysql_query("SELECT * FROM `gebruikers` WHERE `ban`='0'");  
        $gebruikers = mysql_fetch_object($select);
    
    
    mysql_query("UPDATE `gebruikers` SET `wachtwoord`='". md5(md5($gebruikers->wachtwoord)) ."'");


    dit is een voorbeeld dus niet denken van kud zo een wachtwoord beveiligen terwijl ik ook lid ben van die site. (c)

  • een foreach waar je alle leden in op haalt en dan hier in zet je de qeury met de UPDATE ?

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.


    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML


    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework

  • nou de manier hoe jij het doet kan ook gewoon wanneer je dit in een loop gooit waar je alle gebruikers op haalt. Alleen zal het niet leuk zijn voor je load van je site dus wat je kan doen is het even offline op een local webserver te doen en daarna weer opnieuw op je site te gooien?


    Verder zorg er voor dat je login etc wel allemaal zo ingesteld zijn dat je die md5 md5 checks erbij heb?


    Of je laat alle gebruikers zelf een keer inloggen waardoor ze wachtwoord moeten veranderen en deze wordt dan weer opgeslagen met md5 md5.

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.


    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML


    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework

  • Citaat van NielsB

    nou de manier hoe jij het doet kan ook gewoon wanneer je dit in een loop gooit waar je alle gebruikers op haalt. Alleen zal het niet leuk zijn voor je load van je site dus wat je kan doen is het even offline op een local webserver te doen en daarna weer opnieuw op je site te gooien?


    Verder zorg er voor dat je login etc wel allemaal zo ingesteld zijn dat je die md5 md5 checks erbij heb?


    Of je laat alle gebruikers zelf een keer inloggen waardoor ze wachtwoord moeten veranderen en deze wordt dan weer opgeslagen met md5 md5.


    Denk dat dat laatste het fijnste werkt. Enkel is er natuurlijk weer het nadeel dat je het niet bij alle gebruikers gebeurd.
    Wat je ook kan doen is:


    Hierbij heb ik enkel gekeken naar de load van je server.

  • Voordat je ook maar iets doet: zorg voor een backup.
    Na het eten komt een edit...

    Nieuwe reactie samengevoegd met originele reactie op 16.05.11 19:10:00:
    Wat dacht je hier van:
    Je upgrade de wachtwoorden wanneer er ingelogd word.
    Hoe weet je of het wachtwoord al geüpgraded is?
    Voeg een prefix toe aan de nieuwe hashes: nieuw-a844bf02d9763ca2b...


    PHP
    if (strpos($hash, 'nieuw-') !== 0)
    {
        // oude hash, upgrade tijd voor deze user.
        // je hebt toegang tot het plaintext password omdat de gebruiker probeert in te loggen
        // gebruik deze om een nieuwe hash te genereren
        // vergeet niet de 'nieuw-' prefix toe te voegen
    }


    https://github.com/shadowhand/bonafide
    Het is een Kohana module, ik weet het.
    Maar het gebruikt maar weinig Kohana dingen, het zou niet heel moeilijk horen te zijn om het naar plain PHP te porten, ik zou je daarbij kunnen helpen.
    Het is een hashing abstractie module (met een ACL, vraag me niet waarom :p) en werkt met prefixes maar is dynamischer en zit goed in elkaar.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!