wachtwoord reset vraagt welk account ?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Raymond van den Hoek

Raymond van den Hoek

21/06/2016 10:23:25
Quote Anchor link
hallo ik ben bezig met het ontwikkelen van een website voor het bijhouden van een kasboek het schiet al lekker op maar ik probeer op het moment een script toe te passen dat er voor zorgt dat de gebruikers hun wachtwoord kunnen wijzigen dit script werkt overegens prima maar op het moment dat ik op submit klik in mijn formulier krijg ik een popup venster met de vraag voor welk account ik mijn wachtwoord wil wijzigen ik gebruik een session en na aanleiding van het unieke id laat ik mijn wachtwoord wijzigen maar de server lijkt te denken dat ik me root wachtwoord van mysql wil aanpassen heb al meerdere pagina's bekeken of ik een oplossing kan vinden om deze popup niet in beeld te krijgen maar tot nu toe nog niks kunnen vinden ik zou graag een tip willen hoe dit op te lossen zodat ik verder kan met mijn website

mvg. Raymond van den HoekAfbeelding
 
PHP hulp

PHP hulp

03/12/2024 00:19:35
 
Ward van der Put
Moderator

Ward van der Put

21/06/2016 10:43:42
Quote Anchor link
Kun je een deel van het script posten dat het wachtwoord wijzigt?
 
Raymond van den Hoek

Raymond van den Hoek

21/06/2016 11:15:19
Quote Anchor link
// Only process the form if $_POST isn't empty
if ( ! empty( $_POST ) ) {

// Connect to MySQL
$mysqli = new mysqli( 'localhost', 'root', 'pass', 'db_name' );

// Check our connection
if ( $mysqli->connect_error ) {
die( 'Connect Error: ' . $mysqli->connect_errno . ': ' . $mysqli->connect_error );
}

//try to build check to see if password's match

// Insert our data
$sql = "UPDATE gebruikers SET password='{$mysqli->real_escape_string($_POST['password'])}' WHERE id='" . $_SESSION["id"] . "'";
$insert = $mysqli->query($sql);

// Print response from MySQL
if ( $insert ) {
echo "Success! Row ID: {$mysqli->insert_id}";
} else {
die("Error: {$mysqli->errno} : {$mysqli->error}");
}

// Close our connection
$mysqli->close();
 
Ward van der Put
Moderator

Ward van der Put

21/06/2016 11:22:32
Quote Anchor link
In MySQL is PASSWORD een gereserveerd woord. Je kunt dit probleem omzeilen door de kolomnaam `password` in de query $sql tussen backticks te plaatsen — of, beter nog, door de kolom een andere naam te geven.
 
Raymond van den Hoek

Raymond van den Hoek

21/06/2016 11:34:54
Quote Anchor link
ik heb me kolom naam veranderd naar "user_pass" en im mijn script

$sql = "UPDATE gebruikers SET user_pass='{$mysqli->real_escape_string($_POST['user_pass'])}' WHERE id='" . $_SESSION["id"] . "'";

krijg nog steeds het zelfde scherm
 
Ivo P

Ivo P

21/06/2016 12:11:28
Quote Anchor link
Raymond van den Hoek op 21/06/2016 10:23:25:
ik probeer op het moment een script toe te passen dat er voor zorgt dat de gebruikers hun wachtwoord kunnen wijzigen


Bedoel je dat je ergens een script hebt gevonden dat iets in die richting leek te doen, en dat je dat rechtstreeks in jouw code geduwd hebt?

Op zich is wachtwoord-vergeten een redelijk simpel proces dat je het best zelf kunt maken.
De kans dat jouw database structuur precies aansluit bij die van het gevonden script is namelijk klein.

stappen:
1) vraag account naam / username van de gebruiker
2) registreer in je database dat user X zijn pass wil resetten door bijvoorbeeld het huidige tijdstip in de usertabel te zetten. Maak ook direct een unieke code aan die je ook in die tabel zet. Bijvoorbeeld "ksjflksajdflkadjs"

3) stuur een link met die code naar het mailadres uit de usertabel

4) als de gebruiker binnen 60 minuten die code gebruikt:
- verwijder de geheime code in je tabel
- toon gebruiker een 2tal velden waarin hij een nieuw password mag opslaan.





Toevoeging op 21/06/2016 12:17:07:

"reset" zette me op het been dat het om een ww-vergeten script ging.

Bij nadere lezing kan het ook zijn dat je gewoon het password wilt aanpassen van een gebruiker:

in dat geval heb je een form nodig met 3 velden

huidige password
nieuw password
nieuw password nogmaals.

Je checkt of huidige-password voor de ingelogde user klopt
dan of de 2 nieuwe passwords gelijk zijn.

Zo ja, dan hash je het nieuwe password en sla je dat op in de tabel users.

--
maar komt deze popup wel uit het script.
Is het niet zo dat jouw browser voor een aantal accounts het password onthouden heeft voor deze site

Je browser herkent mogelijk dat je een verander pw. script uitvoert en vraagt vervolgens of je zijn lijstje ook wilt aanpassen. Zo ja, voor welk account dan.

Als jij een tool als phpmyadmin gebruikt, dan kan het zijn dat die in mijnsite.nl/phpmyadmin staat en dat je browser daarom de mysql users verbindt met gebruikers van de site.
 
- Ariën  -
Beheerder

- Ariën -

21/06/2016 12:42:33
Quote Anchor link
Ik durf te wedden dat deze dialoog inderdaad van de autocomplete van je browser is, die aan de hand van je username je wachtwoord automatisch invult. Dit staan dan los van je server.
 
Raymond van den Hoek

Raymond van den Hoek

21/06/2016 12:52:24
Quote Anchor link
bedankt voor de tip "- Ariën -" ik gebruik voornamelijk firefox als webbrowser en als ik mijn script in google chrome uitvoer krijg ik het venster niet dan maar verder knutselen in chrome hopen dat ik niet nog meer van dit soort problemen krijg

en "Ivo P" ik gebruik navicat premium om mijn database te beheren vind ik persoonlijk prettiger werken

bedant voor de hulp
 
- Ariën  -
Beheerder

- Ariën -

21/06/2016 12:54:28
Quote Anchor link
Het is dan ook een functie van Firefox, waardoor je dit niet in Chrome krijgt. Je past alleen onthouden wachtwoord aan voor je browser, en niet het daadwerkelijke wachtwoord op de server.
 
Raymond van den Hoek

Raymond van den Hoek

21/06/2016 13:22:38
Quote Anchor link
ik heb mijn eigen xampp server draaien omdat ik eerst wil dat alles werkt naar behoren. heb het ook nog voordat ik hier kwam aan een kennis van mij gevraagd het blijkt nu dat ik in mijn opgeslagen wachtwoorden van firefox op "127.0.0.1" 2 gebruikers staan genaamd "root" en "raymond" had op mijn vorige laptop ook xampp draaien en waarschijnlijk het daar aangemaakt en overgenomen naar deze browser dus ga ik deze verwijderen en nog een keer testen hopelijk werkt dit.

update : heb de opgeslagen wachtwoorden verwijdert en krijg nu het dialoogvenster niet meer
Gewijzigd op 21/06/2016 13:27:38 door Raymond van den Hoek
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.