PDA

View Full Version : سوال: از چه فرمولی برای ساختن کوکی استفاده کنم؟



elham1611
پنج شنبه 03 آذر 1390, 02:55 صبح
با سلام
یک کوکی میخوام داشته باشم که بعدا فعالیتهای کاربر رو با اون فراخوانی کنم.

که حتما هم باید برای هر کاربر منحصر به فرد باشه.

به نظر شما یه شمارنده ایجاد کنم و و به ازای هر کاربر که وارد سایت میشه یکی بهش اضافه کنم (سرعت بارگذاری کم میشه ) یا اینکه مثلا مجموع تاریخ و ساعت ورود کاربر رو کوکی قرار بدم؟

معمولا سایتهای برای کوکی از چه فرمولی استفاده میکنن؟

ممنون

Saman Hashemi
پنج شنبه 03 آذر 1390, 10:47 صبح
شما کوکی روی کلاینت ذخیره میکنی پس منحصر به فرد هست و از سیستم کلاینت میخونی فکر نکنم تداخلی بوجود بیاد که نیاز به همچین کاری باشه...!

elham1611
پنج شنبه 03 آذر 1390, 15:18 عصر
بالاخره مگه نباید مقدار کوکی رو برابر با یه چیزی قرار داد.میخوام بدونم اون چیه؟ آیا یه فرمولی باید اختراع کنم یا اینکه خود دات نت کوکی منحصر به فرد هم تولید میکنه؟

hjran abdpor
پنج شنبه 03 آذر 1390, 17:08 عصر
بالاخره مگه نباید مقدار کوکی رو برابر با یه چیزی قرار داد.میخوام بدونم اون چیه؟ آیا یه فرمولی باید اختراع کنم یا اینکه خود دات نت کوکی منحصر به فرد هم تولید میکنه؟

با سلام.
شما هم خودتون میتونید اسم کوکی و مقادیرش را عوض کنید و هم میتونید این کار را بزارید سیستم دات نت به طور پیشفرض و اتوماتیک انجام بده !!!! اگه خیلی میخاید امنیت را بالا ببرید به قول خودتون فرمول بنویسید .

aminghaderi
پنج شنبه 03 آذر 1390, 17:17 عصر
ساخت و مقدار دهی کوکی :

HttpCookie ObjCookie = new HttpCookie("Name", "Amin");
Response.Cookies.Add(ObjCookie);


خواندن مقدار از کوکی :

if (Request.Cookies["Name"] != null)
{ String Name = Request.Cookies["Name"].Value.ToString(); }


این کوکی به دلیل عدم وجود تاریخ انقضا با بستن مرورگر از بین می رود.
برای اطلاعات بیشتر =>Searching in Google


به نظر شما یه شمارنده ایجاد کنم و و به ازای هر کاربر که وارد سایت میشه یکی بهش اضافه کنم (سرعت بارگذاری کم میشه ) یا اینکه مثلا مجموع تاریخ و ساعت ورود کاربر رو کوکی قرار بدم؟چرا در کوکی در دیتابیس نگه دارید تا بشه برای گزارشگیری ازش استفاده کرد.
از نظر سرعت هم تاثیر چندانی هم نداره اجرای 4 خط کد نسبت به اجرای کلاس های خود دات نت اصلا به چشم نمی یاد.

معمولا سایتهای برای کوکی از چه فرمولی استفاده میکنن؟اطلاعات را به صورت رمز شده در داخل کوکی قرار می دهند.

elham1611
پنج شنبه 03 آذر 1390, 18:26 عصر
سپاسگذارم
لطف میکنید راهنمایی کنید که چه جوری خود دات نت مقدار کوکی رو میسازه و در درون کوکی قرار میده؟


HttpCookie ObjCookie = new HttpCookie("Name", "مقدار کوکی");
Response.Cookies.Add(ObjCookie);

مثالا در این مثال مقدار کوکی رو میخوام خود دات نت تولید کنه نه اینکه من انتخاب کنم

aminghaderi
جمعه 04 آذر 1390, 11:06 صبح
سپاسگذارم
لطف میکنید راهنمایی کنید که چه جوری خود دات نت مقدار کوکی رو میسازه و در درون کوکی قرار میده؟

HttpCookie ObjCookie = new HttpCookie("Name", "مقدار کوکی");
Response.Cookies.Add(ObjCookie);
مثالا در این مثال مقدار کوکی رو میخوام خود دات نت تولید کنه نه اینکه من انتخاب کنم
سلام.
خواهش می کنم.
برای مثال Asp.net معمولا در هنگام استفاده از Session از کوکی هم استفاده می کند به این شکل :
نام کوکی : ASP.NET_SessionId
محتوای کوکی : yassppugk3ffs2vy1e1tdr3o
پس ASP هم داده خودش را رمز گذاری می کند .
در دات نت روش های زیادی برای رمز نگاری یا رمز گذاری هست برای مثال روش های مرسوم آن عبارت اند از :
رمز نگاری متقارن مانند: DES,AES,TRIPLE DES,RC2 ,...
رمز نگاری نامتقارن : DSA,RSA
الگریتم رمزگذاری: MD5,SHA1,SHA256,SHA384,SHA512,...
برای مثال روش DES که در این روش ما می توانیم یه رشته را رمز گذاری و رمزگشایی کنیم.
در نهایت کاری که Asp.Net می کنه اینه که مقدار کوکی را در هنگام ذخیره رمزگذاری می کند و در هنگام استفاده از کوکی رمزشکافی می کند.
در این باره مثال های زیادی در اینترنت و هم در همین سایت برنامه نویس وجود دارد.

موفق باشید.

A.Yousefi
جمعه 04 آذر 1390, 11:30 صبح
برای مثال روش MD5 که در این روش ما می توانیم یه رشته را رمز گذاری و رمزگشایی کنیم.
موفق باشید.

سلام
خواستم بگم MD5 یه روشه برای هش کردن،در نتیجه امکان رمزگشایی وجود نداره،یه الگوریتم یه طرفس که دیگه منسوخ شده.

aminghaderi
جمعه 04 آذر 1390, 12:12 عصر
سلام
خواستم بگم MD5 یه روشه برای هش کردن،در نتیجه امکان رمزگشایی وجود نداره،یه الگوریتم یه طرفس که دیگه منسوخ شده.
بله حق با شماست و این مورد به دلیل تند نویسی صورت گرفت.
ولی در مورد منسوخ شدن انها باید بگم که بحث صرفا آشنایی با روش ها بود نه انتخاب بهترین و کارامد ترین روش ها.
ممنون از شما که تذکر دادید تا اصلاح کنم.

Ali0Boy
پنج شنبه 13 بهمن 1390, 15:16 عصر
دوستان در مورد حذف آن کوکی ساخته شده چه نظری دارید؟
من این کوکی رو درست کردم:


HttpCookie hck = new HttpCookie("iranBsk$", user+ " - " +pasw);
hck.Expires.AddHours(1);
Response.Cookies.Add(hck);


کد حذف:


if (Response.Cookies("iranBsk$"] != null)
Response.Cookies.Remove("iranBsk$");


ولی اصلا حذف نمی شود! چرا ؟

Ali0Boy
پنج شنبه 13 بهمن 1390, 15:56 عصر
دوستان خودم به جواب سوالم رسیدم:
روش اضافه کردن:
بجای خط hck.Expires.AddHours(1); می نویسیم hck.Expires = DateTime.Now.AddHours(1.0);

و برای حذف این کد می نویسیم:


if (Response.Cookies["iranBsk$"] != null)
Response.Cookies["iranBsk$"].Expires = DateTime.Now;


به جای حذف او رو برابر زمان حال قرار می دهیم که با این وجود بعد از دوباره وارد سایت شدن یا یک بار رفرش از بین می رود.
منتظر نتظرات مناسب تر هم هستم.

Cessna182
پنج شنبه 13 بهمن 1390, 15:57 عصر
برای ساخت کوکی می تونید اینطورب پیش برید:


cartId = Guid.NewGuid().ToString();
// create the cookie object and set its value
HttpCookie cookie = new HttpCookie("BalloonShop_CartID", cartId);


cartID شماره سبد خرید هست که داخل جدول سبد خرید ذخیره میشه و GUID هم تایعی هست که همیشه مقادیر متفاوت 36 کاراکتری تولید می کنه و هیچ وقت مثل هم نیستند!

برای قرار دادن کوکی درون مرورگز هم می تونید از این کد استفاده کنید:


context.Response.Cookies.Add(cookie);