[PHP] Cookiemelding IE éne inlogsysteem niets, andere wel

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • unitzero
  • Registratie: Oktober 2001
  • Laatst online: 11-07 07:31
Ik heb meerdere websites die op dezelfde server draaien. Voor die sites zijn allemaal inlogsystemen aanwezig. Dit gebeurt dor een cookie te zetten als er ingelogd word. Ik heb voor één site een oud inlogsysteem gebruikt, wat ik ooit eerder heb geschreven. Als nu de privacy-schuif van IE op 'normaal' staat (extra->internet-opties->privacy), geeft die geen melding dat het cookie niet geplaatst mag worden.

Dit inlogsysteem was echter lichtelijk ranzig geschreven (meerdere methoden om via achterdeur binnen te komen 8) ) dus dat heb ik voor een nieuwe site volledig herschreven.

Nu geeft ie tijdens het plaatsen van de cookie, onder exact de zelfde omstandigheden wel een melding dat het cookie niet vertrouwd wordt. Ik gebruik bij beide methoden gewoon de 'setcookie()' opdracht van PHP.

Wat is hier aan de hand?

Oud systeem:
PHP:
1
2
3
4
5
if( $naam == "blablabla" && md5($pass) == "blablabla" ) {
        setcookie("COOKIELOGIN", "loggedin");
        header('refresh: 0; url=logintussen.php');
        exit();
        }


Nieuw systeem
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
if ( $naam == $naam_paswoord[0] && md5($pass) == $naam_paswoord[1] ) {
   if ( $remember == "yes" ) {
        setcookie("COOKIELOGIN", "loggedin", time()+31536000);
        header('Location: index.php?act=continue');
        exit();
  }
  else {
        setcookie("COOKIELOGIN", "loggedin");
        header('Location: index.php?act=continue');
        exit();
  }
}


In eerste geval staat de naam + paswoord in de php-file zelf, in tweede geval leest ie het uit van een extern bestand...

Wat is er aan de hand met IE dat ie hier onderscheid in gaat zien?

Als ik code ben vergeten die van belang is voor dit probleem, dan hoor ik dat graag...

Acties:
  • 0 Henk 'm!

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 18:14
Als het goed is kun je in IE6 ook nog kijken waarom ie het cookie niet eet.
Volgens mij is het in dit geval dat je cookie een persistent cookie is (time=bla, bla) en in het oude geval niet.

Je kunt ff zonder de tijd testen....

Regeren is vooruitschuiven


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

Ik kan heel makkelijk ook een cookie maken met die waarden, dus ik hoop dat je verderop nog wat andere dingen controleert. Lees gelijk ook even in de manual over cookies. Het is namelijk verplicht om ook een domein op te geven waar het cookie bij hoort. Anders wordt deze niet geaccepteerd.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • darkrain
  • Registratie: Augustus 2001
  • Laatst online: 19:43

darkrain

Moderator Discord

Geniet

Ik weet het niet zeker maar is het niet mogelijk dat mensen je cookie gaan namaken en dat ze dus nog steeds zonder login kunnen binnenkomen??

Hmm Janoz was sneller

[ Voor 9% gewijzigd door darkrain op 12-11-2003 10:04 ]

Tweakers Discord


Acties:
  • 0 Henk 'm!

  • unitzero
  • Registratie: Oktober 2001
  • Laatst online: 11-07 07:31
Ik kan heel makkelijk ook een cookie maken met die waarden, dus ik hoop dat je verderop nog wat andere dingen controleert.
is waar, dit is alleen een gedeelte, er komt een heel systeem met i.p-adres-hash-validatie en dat soort dingen, het moet nog wat veiliger
Lees gelijk ook even in de manual over cookies. Het is namelijk verplicht om ook een domein op te geven waar het cookie bij hoort. Anders wordt deze niet geaccepteerd.
is dat zo? in de manual over cookies van php was daar niks over te vinden dat dat verplicht is. kan je misschien aangeven waar je dat vandaan hebt?


maar om op de vraag terug te komen, tegelijkertijd met mij heeft iemand anders ook zijn probleem gepost dat uiteindelijk hetzelfde bleek te zijn : [rml][ PHP/Cookies]Cookies worden niet bij iedereen aangenomen[/rml]

dit komt dus door de behandeling van cookies door IE als de pagina in een frame staat ingebakken. ligt dit nou ook aan het feit dat ik het domein niet opgeef als ik de cookie zet?

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

Owh, had dat dan even in TS gezegd dat je in een frame zat :)

Belangrijkste redenen dat cookies niet werken is omdat ze door security instellingen niet worden geaccepteerd. Voorbeeld daarvan is een cookie met een onjuist of missende domein naam of een cookie die door een onderdeel van de pagina wordt gezet met een ander domein naam (denk aan plaatjes, javascriptjes en (i)frames). Aangezien ik dacht dat het hier niet om het tweede ging nam ik het eerste aan. Dat zijn namelijk de 2 meest voorkomende gevallen van ongeldige cookies ;).

Verder zou ik voor het inloggen eens naar een sessie techniek gaan kijken. IMHO maak je het jezelf nodeloos ingewikkeld. Door het bij elkaar gooien van wat termen en dit om te vormen tot een zogenaamd security model kom je niet automatisch tot security. Probeer niet zelf een nieuw wiel uit te vinden, maar probeer de werking van een bestaand wiel te achterhalen ;)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • Anders
  • Registratie: December 2000
  • Laatst online: 13-09 18:52
Opmerking, desnoods voor het archief: IE heeft moeite met het plaatsen van cookies wanneer er een underscore in het (sub)domein staat. Daar zijn we hier intern eens een hoop tijd en puzzelwerk aan kwijt geweest om daar achter te komen.

Ik spoor veilig of ik spoor niet.

Pagina: 1