login  Naam:   Wachtwoord: 
Registreer je!
 Forum

cookie hulp

Offline kickasgamer - 02/11/2007 11:32
Avatar van kickasgamerPHP ver gevorderde ik ben nu bezig met mijn nieuw ledensysteem en deze keer wil ik er cookies in gaan verwerken. Maar nu is mijn vraa welke opzet lijkt jullie beter

  1. setcookie("userid",$userid,$tijd_lengte,"/");
  2. setcookie("securhash",$hash,$tijd_lengte,"/");
  3.  
  4. // of is het beter zo
  5.  
  6. setcookie("securcookie",$userid.";".$hash,$tijd_lengte'"/");

28 antwoorden

Gesponsorde links
Offline Mad_Mike - 02/11/2007 11:44
Avatar van Mad_Mike PHP beginner Het komt hier dus opneer:
OF twee cookies met ieder apparte informatie OF 1 met beide informatie erin. Dan zou ik gewoon voor 1 cookie gaan... waarom die gegevens appart in losse cookies opslaan?
Offline zointer - 02/11/2007 11:53
Avatar van zointer HTML gevorderde wat zou het verschil uitmaken één of meer cookie plaatsen 

door meerdere zou je eventueel verwarring kunnen maken (weet ni)
Offline avdg - 02/11/2007 11:58
Avatar van avdg PHP gevorderde Ik vind dat je eigenlijk zelf moet kiezen, maar ik zou zeggen dat het wel extra moeite vraagt om nog een stukje code te schrijven om de cookie te splitsen. Je mag van dat gebruiken op voorwaarde dat je zeker bent dat dat splits tekens (in dit geval de ';') niet zomaar voorkomen in de strings. 
Offline Mad_Mike - 02/11/2007 12:02
Avatar van Mad_Mike PHP beginner Wat het verschil is... een nutteloze handeling. Als het echt om twee verschillende gegevens zou gaan kan ik het nog wel begrijpen.

Juist door het te combineren kan je meer verwarring creeren omdat je dan niet zo 1 2 3 kunt achterhalen welke gegevens waarvoor staan.

Maar ook dat vind ik een beetje nutteloos. Je moet er juist voor zorgen dat je geen gevoelige informatie in een cookie opslaat. Maar de gegevens in een cookie in combinatie met gegevens in de database zouden voor de veiligheid moeten zorgen
Offline avdg - 02/11/2007 12:07 (laatste wijziging 02/11/2007 12:31)
Avatar van avdg PHP gevorderde Je kunt ook met sessies werken, dat is ook een goede beveiligingsoptie 

zie http://www.site...ies_in_PHP

Opmerking: gebruik sessies serverside (bij de instellingen in php.ini)
Offline kickasgamer - 02/11/2007 12:08 (laatste wijziging 02/11/2007 12:09)
Avatar van kickasgamer PHP ver gevorderde ja dat gaat ook dienen als beveiliging, een userID en een security hash van (minstens 50 tekens) gaat in een cookie komen te staan en dan controleer ik in de DB als het userID en de unike hash overeen komen

maar ik denk dat ik dan 2 cookies ga gebruiken, maar de naam die ik via setcookie geef, is dat ook de naam van het txt of krijgt die txt een andere naam ?

@advg: alleen met sessie werken gaat ook, maar dan kan een gebruiker niet ingelogt blijven omdat ls je de browser sluit de sessie verloopt 
Offline Mad_Mike - 02/11/2007 12:16
Avatar van Mad_Mike PHP beginner Waarom in twee cookies als het toch geen belangrijke data is?

stel:

tabel: stored_cookies
cookie_id
cookie_user_id
cookie_hash
cookie_ip

En in het cookie sla je de userID en een unieke hash op. Wanneer je de website laat controleren op het cookie haal je hieruit de userID en unieke hash op. Tevens controleer je het IP-adres van de pc waar het cookie op staat. Deze gegeevns controleer je met de tabel stored_cookies en als er een match is dan is het goed.
Offline kickasgamer - 02/11/2007 12:23
Avatar van kickasgamer PHP ver gevorderde in hoeveel cookies sla jij die informatie dan op ?
Offline Mad_Mike - 02/11/2007 12:26
Avatar van Mad_Mike PHP beginner gewoon 1... 'as usual'
Offline zointer - 02/11/2007 12:28
Avatar van zointer HTML gevorderde
kickasgamer schreef:
in hoeveel cookies sla jij die informatie dan op ?

In een zeker.
  1. setcookie("stored_cookies", "cookie_id;cookie_user_id;cookie_hash;cookie_ip");
Offline avdg - 02/11/2007 12:31 (laatste wijziging 02/11/2007 12:37)
Avatar van avdg PHP gevorderde @kickasgamer: je kunt ook de sessie id in een cookie opslaan die lang meegaat
(zie session.cookie_lifetime in php.ini of   http://be.php.net/manual/nl/ref.session.php)

@mad_mike: niets is feilloos, dus altijd controleren 
Offline Mad_Mike - 02/11/2007 12:31 (laatste wijziging 02/11/2007 12:33)
Avatar van Mad_Mike PHP beginner @ zointer:

Nee, je slaat alleen de userID en hash-code op in een cookie.
De overige gegevens sla je op in een database...

@avdg:
Nee dat zou ik niet doen... alleen een sessieID opslaan in een cookie is niet zo veilig. Zorg dan ook nog voor een ip-controle door deze gegevens op te slaan in een database
Offline zointer - 02/11/2007 12:34 (laatste wijziging 02/11/2007 12:36)
Avatar van zointer HTML gevorderde just db 
ma zou kunnen 

edit: maar eigenlijk speelt geen rol hoeveel cookie's je plaatst(lees snelheid ect...) of toch niet 
Offline Mad_Mike - 02/11/2007 12:38
Avatar van Mad_Mike PHP beginner nee dat niet... maar heeft ook totaal geen voordeel.
Offline zointer - 02/11/2007 12:46
Avatar van zointer HTML gevorderde
Mad_Mike schreef:
nee dat niet... maar heeft ook totaal geen voordeel.

Voordeel enkel dat je minder tijp werk hebt.

[sarc]
Wat worden we lui tegenwoordig 
[/sarc]
Offline kickasgamer - 02/11/2007 12:58
Avatar van kickasgamer PHP ver gevorderde owk, ik ga het dus zo doen

1 cookie met userID, security hash, en userIP in, en dan alles explode op een ; en zo alle info met deDB vergelijken
Offline Mad_Mike - 02/11/2007 13:07
Avatar van Mad_Mike PHP beginner geen IP adres in cookie opslaan! Je slaat dat WEL op in de database. Waarom? Voor extra veilgheid. Stel iemand 'jat' een cookie van een pc en plaatst deze op een andere pc en doet er nog meer stoute dingen mee. Dit cookie zal nooit geaccepteerd worden omdat in de database er geen cookie gegevens staan voor dat IP adres icm userID en hashcode.
Offline kickasgamer - 02/11/2007 13:11 (laatste wijziging 02/11/2007 17:12)
Avatar van kickasgamer PHP ver gevorderde ah ja zo gaat het ook 

EDIT: nog even een vraagje

maar de naam die ik via setcookie geef, is dat ook de naam van het txt of krijgt die txt een andere naam ?
Offline Koen - 02/11/2007 17:15 (laatste wijziging 02/11/2007 17:16)
Avatar van Koen PHP expert Test het eens he 
Maar volgens mij noemen die bestandjes altijd:
  1. inlognaam@website[nr].txt // edit: .com komt er niet bij ;p
Offline kickasgamer - 02/11/2007 18:13 (laatste wijziging 03/11/2007 10:23)
Avatar van kickasgamer PHP ver gevorderde ok, bedankt 

EDIT: ik de cookie nu zo geset
  1. setcookie("security", $id.";".$hash,time()+$login_tijd,"/");


maar ik vind de cookie nergens terug op mijn pc 
Offline avdg - 03/11/2007 10:27
Avatar van avdg PHP gevorderde Veiligheid: noem die cookie geen security 
Offline zointer - 03/11/2007 10:35 (laatste wijziging 03/11/2007 10:38)
Avatar van zointer HTML gevorderde
kickasgamer schreef:
ok, bedankt 

EDIT: ik de cookie nu zo geset
[..code..]

maar ik vind de cookie nergens terug op mijn pc 

Zie eens achter je beeld scherm daar ligt nog een stukje 

Bij IE zoeken naar de map cookies
Cookies kan je in Windows XP snel terugvinden in je Documents and Settings directory in de map Cookies.

bij ff Privacy

edit: En als je het nergens vindt bestaat deze niet en dus niet geset 

Doe een;
  1. <?php
  2. if(isset($_COOKIE['Je_cookie_naam'])) {
  3. // cookie bestaat
  4. ...
  5. } else {
  6. // cookie bestaat niet
  7. ...
  8. }
  9. ?>
Offline Nanon - 03/11/2007 12:22 (laatste wijziging 03/11/2007 12:23)
Avatar van Nanon PHP interesse
Mad_Mike schreef:
Waarom in twee cookies als het toch geen belangrijke data is?

stel:

tabel: stored_cookies
cookie_user_id
cookie_hash
cookie_ip

En in het cookie sla je de userID en een unieke hash op. Wanneer je de website laat controleren op het cookie haal je hieruit de userID en unieke hash op. Tevens controleer je het IP-adres van de pc waar het cookie op staat. Deze gegeevns controleer je met de tabel stored_cookies en als er een match is dan is het goed.


Zoiets. Maar waarom zou je op userID gaan controleren als de hash toch uniek is? Hij controleert tenslotte op de hash en het ip, dus userID zou alleen maar overbodig zijn. Je kant het makkelijk met de volgende sql doen:
  1. <?php
  2.  
  3. $sql = "SELECT
  4.  
  5. `users`.`user_id`,
  6.  
  7. `users`.`username`
  8.  
  9. FROM
  10.  
  11. `users`
  12.  
  13. LEFT JOIN
  14.  
  15. `stored_cookies`
  16.  
  17. ON
  18.  
  19. `users`.`user_id` = `stored_cookies`.`user_id`
  20.  
  21. WHERE
  22.  
  23. `stored_cookies`.`cookie_hash` = '".$_COOKIE['hash']."'
  24.  
  25. AND
  26.  
  27. `stored_cookies`.`cookie_ip` = '".$_SERVER['REMOTE_ADDR']."'
  28.  
  29. LIMIT 1";
  30.  
  31. ?>


Dus je hebt maar één cookie nodig, en daarin sla je een unieke gegenereerde hashcode in op.
Offline kickasgamer - 03/11/2007 13:19 (laatste wijziging 03/11/2007 13:24)
Avatar van kickasgamer PHP ver gevorderde
zointer schreef:
[..quote..]
Zie eens achter je beeld scherm daar ligt nog een stukje 

Bij IE zoeken naar de map cookies
Cookies kan je in Windows XP snel terugvinden in je Documents and Settings directory in de map Cookies.

bij ff Privacy

edit: En als je het nergens vindt bestaat deze niet en dus niet geset 

Doe een;
[..code..]


ik heb $_COOKIE['security'] eens ge echoët en de juiste info kwam op het scherm dus de cookie is geset maar ik zie hem niet staan in men cookie map

EDIT: hoe kan ik men cookie dna het beste noemen ?
Offline zointer - 03/11/2007 14:22 (laatste wijziging 03/11/2007 14:22)
Avatar van zointer HTML gevorderde
kickasgamer schreef:
[..quote..]
maar ik zie hem niet staan in men cookie map

cookies ziet er zo uit:
Cookie: pc_gebruikersnaam@Domeinnaam.tld

kickasgamer schreef:
EDIT: hoe kan ik men cookie dna het beste noemen ?

je noemt hoe je zelf wil, maar niet security(en gelijkaardig) zoals avdg al aangaf.
___________________cookies info____________________________
http://www.micr...okies.aspx
http://www.hccm...p;id=45989
Offline kickasgamer - 03/11/2007 16:54
Avatar van kickasgamer PHP ver gevorderde en wat als je een subdomein hebt, ik werk op het subdomein: jeroen.fi-media.net, hoe is dan de cookie naam ?

is login wel een goede cookie naam ?
Offline Koen - 03/11/2007 16:58
Avatar van Koen PHP expert
  1. pcgebruikersnaam@jeroen.fi-media[nr].txt
Offline kickasgamer - 03/11/2007 17:06 (laatste wijziging 03/11/2007 17:19)
Avatar van kickasgamer PHP ver gevorderde tja ik vind dat koekje toch niet 

bolle@jeroen.fi-media.net[1].txt

maarja raar genoeg als ik dan $_COOKIE['security'] echo dan komt er wel de juiste info te staan
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.262s