[PHP] Voorkomen onthouden wachtwoord

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Bram77
  • Registratie: September 2004
  • Laatst online: 10-07-2023
In bijna alle besturingssystemen zit de mogelijkheid om te zorgen dat het OS de inloggegevens voor websites te onthouden. Ik schrijf en beheer een applicatie die veel gevoelige informatie bevat en dus optimaal beveiligd moet worden. De website wordt sowieso bezocht via https.
Hoe kan ik er m.b.v. PHP (of misschien HTML, dan staat dit topic niet op de goede plek denk ik) voor zorgen dat de inloggegevens niet bewaard worden op een willekeurige PC met een willekeurig OS? Zodat dus onafhankelijk van de instellingen op de computer van de gebruiker altijd een username en wachtwoord ingevoerd moeten worden?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
In HTTPS-mode worden toch sowieso geen wachtwoorden onthouden? Of vergis ik me nu?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
Geeft het username en/of password veld een random naam mee. Op die manier kan men het wachtwoord opslaan tot ze een ons wegen. Óf maak de velden leeg voordat het formulier verzonden wordt. Dat is overigens gewoon [HTML/JS] en geen [PHP] :)

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

RobIII schreef op dinsdag 18 september 2007 @ 11:07:
In HTTPS-mode worden toch sowieso geen wachtwoorden onthouden? Of vergis ik me nu?
Ja, je vergist je, want dat kan gewoon :)


Maar wellicht kan je ervoor zorgen dat je iedere keer andere namen voor de inlogvelden gebruikt?

Acties:
  • 0 Henk 'm!

  • DeepFreeze.NL
  • Registratie: April 2006
  • Laatst online: 02-03 08:01
Volgens mij kun je het een en ander doen met autocomplete="off" in HTML.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Erkens schreef op dinsdag 18 september 2007 @ 11:09:
[...]

Ja, je vergist je, want dat kan gewoon :)
Ah. Ok :P
Dan inderdaad gewoon bovenstaande oplossingen gebruiken. :Y)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Je kan kijken hoe mijn.postbank.nl dit fixed. Microsoft heeft de tag bedacht "autcomplete": http://msdn2.microsoft.com/en-us/library/ms533032.aspx

Helaas is dit weer een zelf-bedachte standaard, dus zou ik er zeker niet op vertrouwen. Echter werkt mijn.postbank.nl zonder die autocomplete ook onder mijn Firefox van Ubuntu, dus moet er meer aan de hand zijn. Wellicht komt het door de https, maar dat zou jij dan even moeten uitzoeken :)

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
mithras schreef op dinsdag 18 september 2007 @ 11:12:
Je kan kijken hoe mijn.postbank.nl dit fixed. Microsoft heeft de tag bedacht "autcomplete": http://msdn2.microsoft.com/en-us/library/ms533032.aspx
Zou ik dus inderdaad niet op vertrouwen voor cross-browser compatibiliteit.
mithras schreef op dinsdag 18 september 2007 @ 11:12:
Echter werkt mijn.postbank.nl zonder die autocomplete ook onder mijn Firefox van Ubuntu, dus moet er meer aan de hand zijn.
Die gebruiken random namen voor de form elementen:
Afbeeldingslocatie: http://tweakers.net/ext/f/5d08e43817909b5a72b872a79840bc20/full.gif

na een refresh:

Afbeeldingslocatie: http://tweakers.net/ext/f/cb431382276b40094a4bf318f22a5bcc/full.gif

[ Voor 13% gewijzigd door RobIII op 18-09-2007 11:18 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Woef
  • Registratie: Juni 2000
  • Niet online
code:
1
<form autocomplete="off" disableautocomplete="true">

:)

Acties:
  • 0 Henk 'm!

  • Walance
  • Registratie: September 2005
  • Laatst online: 15:39

Walance

Hm.. wat zal ik hier schrijven

je zou ook elke keer een unieke naam aan de invoervelden kunnen meegeven, want volgens mij worden wachtwoorden onthouden per site per invoerveld (als je snapt wat ik bedoel, weet even niet hoe ik dat moet uitleggen :P), dus zoiets misschien?
PHP:
1
2
3
4
<?php
$sName = 'tekst' . time();
?>
<input type="password" name="<?php echo $sName; ?>" id="<?php echo $sName; ?>" />

Heb dit niet getest, maar mij lijkt dat dit wel werkt, als ik gelijk heb met het eerste wat ik zei?

Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Conquerer schreef op dinsdag 18 september 2007 @ 11:19:
je zou ook elke keer een unieke naam aan de invoervelden kunnen meegeven, want volgens mij worden wachtwoorden onthouden per site per invoerveld (als je snapt wat ik bedoel, weet even niet hoe ik dat moet uitleggen :P), dus zoiets misschien?
PHP:
1
2
$sName = 'tekst' . time();
<input type="password" name="<?php echo $sName; ?>" id="<?php echo $sName; ?>" />

Heb dit niet getest, maar mij lijkt dat dit wel werkt, als ik gelijk heb met het eerste wat ik zei?
Niet eens per site, het invoervak bij Google heet bijvoorbeeld 'q', en alle termen die ik bij Google heb gebruikt staan ook in de dropdown op andere sites met een tekstvak wat 'q' heet.

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

DeepFreeze.NL schreef op dinsdag 18 september 2007 @ 11:10:
Volgens mij kun je het een en ander doen met autocomplete="off" in HTML.
daarmee schakel je alleen de autocomplete mee uit (voor browsers die dit ondersteunen) maar het zegt niks over het al dan niet opslaan van de gegevens :)

Acties:
  • 0 Henk 'm!

  • Woef
  • Registratie: Juni 2000
  • Niet online
random invoerveldnamen maken en deze opslaan in een sessie, zodat je ze kunt gebruiken bij een POST.

Acties:
  • 0 Henk 'm!

  • posttoast
  • Registratie: April 2000
  • Laatst online: 16:20
Ik zou het niet in een sessie zetten. Je kunt toch gewoon stap voor stap de $_POST array uitlezen? De velden hebben random namen, maar staan wel altijd in dezelfde volgorde.

omniscale.nl


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

posttoast schreef op dinsdag 18 september 2007 @ 11:29:
Ik zou het niet in een sessie zetten. Je kunt toch gewoon stap voor stap de $_POST array uitlezen? De velden hebben random namen, maar staan wel altijd in dezelfde volgorde.
het staat niet vast dat ze in dezelfde volgorde staan, echter het is een koud kunstje om even twee hidden fields te maken met daarin de namen van de fields met de username en password ;)

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:29

crisp

Devver

Pixelated

Als optimale beveiliging een must is dan zou ik verder kijken dan simpel username/wachtwoord verificatie. Zelfs met truuken die het opslaan van een wachtwoord door de browser verhinderen kan je nog niet voorkomen dat gebruikers hun wachtwoord op een post-it schrijven en op het scherm plakken of in een plaintext bestand op hun desktop zetten (en hoe meer barières je inbouwt, hoe meer gebruikers genegen zijn dat te doen).

Een goede uitbreiding zou een hardwarematige tokengenerator oid zijn.

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • P.O. Box
  • Registratie: Augustus 2005
  • Niet online
posttoast schreef op dinsdag 18 september 2007 @ 11:29:
Ik zou het niet in een sessie zetten. Je kunt toch gewoon stap voor stap de $_POST array uitlezen? De velden hebben random namen, maar staan wel altijd in dezelfde volgorde.
je zal toch ook moeten checken of de veldnamen wel overeenkomen met de laatste stand van zaken. Anders kun je nog via een gecachte pagina inloggen bijvoorbeeld...

Acties:
  • 0 Henk 'm!

  • Bram77
  • Registratie: September 2004
  • Laatst online: 10-07-2023
Bedankt voor de snelle en uitgebreide reacties. Het gebruik van random namen is eigenlijk best voor de hand liggend inderdaad. Dat er geen standaard functionaliteit voor bestaat in alle browsers ben ik wijzer.

@crisp: De punten die je noemt zijn zeker dingen die voorbij zijn gekomen bij de privacy bescherming i.c.m. gebruiksvriendelijkheid discussies. De mensen die hier mee werken loggen zo'n 10 tot 30 keer per dag in op het systeem.
Wat ik zou kunnen doen is een link plaatsen op de inlogpagina die een random login key produceert en mailt naar een email adres gekoppeld aan een door een gebruiker in te voeren username. De random key zou dan als wachtwoord fungeren en elke keer wanneer er ingelogd wordt uniek zijn. Dit zou de veiligheid zeker ten goede komen (ik weet niet of dit ongeveer is wat jij ook bedoelt?), maar met tot 30 keer per dag inloggen de gebruiksvriendelijkheid zeker niet.
Een middenweg zou kunnen zijn dat elke key een variabele tijd geldig is (een week b.v.) maar het nadeel daaraan is, zoals je al aangeeft, dat mensen de inlogcode gaan opschrijven wat vanzelfsprekend niet erg wenselijk is.

Wanneer is de normen hoger komen te liggen is dit misschien toch nog een idee.

Bedankt voor het meedenken allen!

Acties:
  • 0 Henk 'm!

  • MuisM4t
  • Registratie: Mei 2007
  • Niet online
Bram77 schreef op dinsdag 18 september 2007 @ 12:09:
Bedankt voor de snelle en uitgebreide reacties. Het gebruik van random namen is eigenlijk best voor de hand liggend inderdaad. Dat er geen standaard functionaliteit voor bestaat in alle browsers ben ik wijzer.


Wat ik zou kunnen doen is een link plaatsen op de inlogpagina die een random login key produceert en mailt naar een email adres gekoppeld aan een door een gebruiker in te voeren username. De random key zou dan als wachtwoord fungeren en elke keer wanneer er ingelogd wordt uniek zijn. Dit zou de veiligheid zeker ten goede komen (ik weet niet of dit ongeveer is wat jij ook bedoelt?), maar met tot 30 keer per dag inloggen de gebruiksvriendelijkheid zeker niet.

...
Ik denk dat Crisp met een hardwarematige tokengenerator zoiets als Abn Amro gebruikt (e dentifier) bedoelt.
Ik denk dat je zeker niets zomaar naar willekeurige emailadressen moet versturen. Wie weet zijn die niet goed beveiligd en zit ´m daar dan de zwakke plek.

  • Woef
  • Registratie: Juni 2000
  • Niet online
Je moet gewoon bij elke page-request een key aanmaken met sha1/md5 van iets randoms en opslaan in een sessie.
Vervolgens zorg je ervoor dat je via javascript voor een $_POST (onsubmit) bijvoorbeeld javascript:sha1(key+wachtwoord) doet vervolgens vergelijk je dit met je php:
PHP:
1
sha1($_SESSION['key']+$row['password'])


Maar goed dit is weer een beetje off-topic.....

  • Bram77
  • Registratie: September 2004
  • Laatst online: 10-07-2023
Whizzkid92 schreef op dinsdag 18 september 2007 @ 19:52:
[...]

Ik denk dat Crisp met een hardwarematige tokengenerator zoiets als Abn Amro gebruikt (e dentifier) bedoelt.
Ik denk dat je zeker niets zomaar naar willekeurige emailadressen moet versturen. Wie weet zijn die niet goed beveiligd en zit ´m daar dan de zwakke plek.
Ah, op die manier! Nee, die apparaatjes worden te duur om realistisch te zijn.
De adressen waar het naar toe gestuurd zou worden zijn in dit allemaal adressen op een mailserver die ik beheer. Zit dus wel goed qua beveiliging voor zover ik daar invloed op kan uitoefenen.

Potentieel gaat de applicatie (of eigenlijk module) ook ingezet worden bij andere bedrijven en daar heb ik er natuurlijk geen macht over.

  • Bram77
  • Registratie: September 2004
  • Laatst online: 10-07-2023
Het gebruik van random namen voor de inputvelden en zelfs de formnaam heeft niet het gewenste effect in Internet Explorer 7. De gegevens worden gewoon onthouden. Ik begrijp niet hoe en waarom. Het toevoegen van random id's heeft ook geen effect.

  • Koelkasten
  • Registratie: Februari 2001
  • Laatst online: 08-09 19:51

Koelkasten

har har koelkast op je knar

In IE7 werkt het gebruik van een random id en een random name (van het veld) overigens wel degelijk prima hoor. echter om een stap verder te gaan in je beveiliging kijk anders eens naar inloggen op basis van certificaten.

jij geeft alle mensen die inloggen een master certificaat (voor iedereen hetzelfde) en geeft elke user een persoonlijk certificaat wat ze moeten installeren. vervolgens koppel je in je login het username / password aan het certificaat.

Sommige mensen....

Pagina: 1