Jump to content
php.lv forumi

Recommended Posts

Posted

Kā lai pārbauda vai cookie'jā kaut kas ir?

var cookies_ = getCookie("data");
usr_pas = cookies_.split(":");

te es dabūnu cookies saturu, bet ja cookijā nekā nav tad man browseris met erroru:

 

Line: 266 (266'sestā rindiņa ir usr_pas = cookies_.split(":"); )

Error: 'null' is null or not an object

 

kā lai sataisa pārbaudi uz šādu paziņojumu?

mēģināju visādi:

if (null == usr_pas)
if (usr_pas == null || usr_pas == "")
if (null == cookies_)

 

bet kā lai es nepārbaudītu man izdod šādu paziņojumu!

PS. ja cookijā ir kaut kāds saturs tad viss nostrādā kā tam jābūt, bet tiklīdz es izdzēšu cookijut tā šis errors un nekas vairs nestrādā kā nākas!

Posted

paldies! šādi sanāca!

 

Vēl viens jautājums par cookies! Ja man izveidojas cookies šādi te:

function setCookie(name, value, expires, path, domain, secure)
{
document.cookie= name + "=" + escape(value) +
	((expires) ? "; expires=" + expires.toGMTString() : "") +
	((path) ? "; path=" + path : "") +
	((domain) ? "; domain=" + domain : "") +
	((secure) ? "; secure" : "");
}

un man tas cookies izbeidzās tad kad es aizveru pārlūku, kā var to cookija iztecēšanas laiku pagarināt vismaz uz mēnesi?

Posted
nav ne jausmas, kas ir funkcijā getCookie() un kristāla bumba nestrādā

man gan šķiet ka šajā gadījumā ir pilnīgi vienalga kas ir iekš getCookie() funkcijā, jo mani interesēja kā es varu pārbaudīt vai cookijā kaut kas ir un ar getCookie() funkciju es dabūnu ārā cookija saturu! Funkcija strādā pareizi!

Posted

Uzstādot cookie par jaunu, jo tas automātiski tiek izdzēsts..

 

Starpcitu neiesaku glabāt lietotāja paroli iekš cepumiem - tos ir viegli nozagt :)

Posted
man gan šķiet ka šajā gadījumā ir pilnīgi vienalga kas ir iekš getCookie() funkcijā, jo mani interesēja kā es varu pārbaudīt vai cookijā kaut kas ir un ar getCookie() funkciju es dabūnu ārā cookija saturu! Funkcija strādā pareizi!

 

Nav gan gluži tā, jo iespējams ka tev tā f-ji nesaņemot cookie neatgriež false un tad IF`s nenostrādātu.

Posted

getCookie funkcija:

function getCookie(name)
{
var dc = document.cookie;
var prefix = name + "=";
var begin = dc.indexOf("; " + prefix);
if (begin == -1)
{
	begin = dc.indexOf(prefix);
	if (begin != 0) return null;
}
else
{
	begin += 2;
}
var end = document.cookie.indexOf(";", begin);
if (end == -1)
{
	end = dc.length;
}
return unescape(dc.substring(begin + prefix.length, end));
}

 

PS. īsti nesaprotu kā man cookija termiņu pagarināt par mēnasi uz priekšu:

kā tad man tai rindiņai vajadzētu izskatīties?

((expires) ? "; expires=" + expires."Mon, 4 Mar 2008 10:48:00 UTC") +

kaut kā tā?

 

un kā tad varētu realizēt lietotāja atcerēšanos neglabājot paroli iekš cookies?

Posted (edited)
un kā tad varētu realizēt lietotāja atcerēšanos neglabājot paroli iekš cookies?

 

Atkarīgs no sistēmas. Es esmu savā ziņā paranoiķis uz drošību. Tāpēc pieglabātu tikai lietotāja id un kaut kādu hashu, piemēram kur būtu hashota ip, id un parole, bet viss vienā hešā.

Edited by Vebers
Posted

Uz lietotāja datora ir jāglabā tikai session_id, kas pēc noklusējuma glabājas iekš cookie.

Visas pārbaudes jāveic tikai uz servera.

Veber, un tad kā sanāk? Ko Tu dari ar to cookie glabājamo lietotāja id? Kur to izmanto?

Posted

kā es cookija iztecēšanas laiku varu pagarināt mēģināju šādi:

	document.cookie= name + "=" + escape(value) +
	((expires) ? "; expires=" + expires.toGMTString() : "Mon Feb 25 11:10:30 UTC+0200 2008") +
	((path) ? "; path=" + path : "") +
	((domain) ? "; domain=" + domain : "") +
	((secure) ? "; secure" : "");

 

un pēc pārlūka aizvēršanas man tas cookijs iztīrās!

Posted (edited)

Aleksej, bet sessijas Id mēdz "iztecēt" (expire)un tad tas "atcerēties mani" nedarbosies.

 

Kad uzstādu cookie pieglabāju db tabulā lietotāja id, datumu kad uzstādīts cookie (lai varētu viņus pēc noteikta laika izdzēst un tabula neizaugtu milzīga), un heshu. pēc cookija id piemeklēju db attiecīgo ierakstu un paskatos vai hashi sakrīt (attiecīgi ja sakrīt tad ip ir tā pati, parole arī ir īstā).

 

 

Sasa, kā jau es teicu, ja cookie iztek derīguma termiņš tas pēc pārlūka aizvēršanas izdzēšas! Tāpēc tas ir jāuzstāda par jaunu tādā veidā to pagarinot.

Edited by Vebers
Posted

izmantot izmantoju, bet es nezinu kā to uzlikt uz manas setCookies() funkcijas:

function setCookie(name, value, expires, path, domain, secure)
{
document.cookie= name + "=" + escape(value) +
	((expires) ? "; expires=" + expires.toGMTString() : "") +
	((path) ? "; path=" + path : "") +
	((domain) ? "; domain=" + domain : "") +
	((secure) ? "; secure" : "");
}

 

savu cookies sistēmu izveidoju jau no googlē atrodamiem paraugiem, izmēģināju vairākus kamēr atradu normāli strādājošu (iespējams ka tur lailāka daļa darbojošos, bet es viņu nemācēju piedarbināt). Un šim kodam es nemāku pielikt to iztecēšanas laiku, jo īsti nesaprotu šo rindiņu!

 ((expires) ? "; expires=" + expires.toGMTString() : "")

×
×
  • Create New...