View Full Version : مبتدی: بررسی وجود یا عدم وجود کوکی در سیستم
Masoome_das
چهارشنبه 25 اسفند 1389, 18:59 عصر
سلام من می خوام یک فرم Login بسازم که در آن یک امکان بخاطر بسپاریم وجود داشته باشد .
حالا با این مشکل مواجه هستم که در هنگام PageLoad چگونه تشخیص دهم چنین کوکی وجود دارد یا خیر و اطلاعات درون کوکی را چگونه بخوانم . در باره کوکی در تالار زیاد بحث شده ولی در هیچ کدام یک کد مفید قابل اجرا من ندیدم اگر دوستان نمونه کدی بذارند ازشون ممنون می شوم.
Mostafa_Dindar
چهارشنبه 25 اسفند 1389, 21:43 عصر
سلام ،
برای برسی کردن اینکه آیا کوکی بانام مشخص وجود دارد کافیست برسی کنید که مساوی Null نباشد :
if (Request.Cookies["YourCookiename"] != null)
موفق باشید
Masoome_das
پنج شنبه 26 اسفند 1389, 09:54 صبح
سلام
من کوکی را ساختم ولی با بسته شدن پنجره مرورگر دیگه کوکی را نمی شناسه در صورتی که 6 ماه برای کوکی اعتبار تعریف کردم. باید در WebConfig تنظیمات خاصی تنظیم کرد؟
کد مربوط به ساخت کوکی
Response.Cookies["Login"]["MyName"] = Name.Text;
Response.Cookies["Login"]["lastVisit"] = DateTime.Now.ToString();
Response.Cookies["Login"]["MyPass"] = Password.Text;
HttpCookie MyLogin = new HttpCookie("Login");
MyLogin.Values["MyName"] = Name.Text;
MyLogin.Values["MyPass"] = Password.Text;
MyLogin.Expires = DateTime.Now.AddMonths(6);
if(CheckBox1.Checked!=false)
Response.Cookies.Add(MyLogin);
این کد را هم برای PageLoad نوشتم.
if (Request.Cookies["Login"] != null)
{
Name.Text =
Server.HtmlEncode(Request.Cookies["Login"]["MyName"]);
Time.Text =
Server.HtmlEncode(Request.Cookies["Login"]["lastVisit"]);
Password.Text = Server.HtmlEncode(Request.Cookies["Login"]["MyPass"]);
CheckBox1.Checked = true;
}
بعد چطوری می توان فایل کوکی را ببینم؟
Mostafa_Dindar
پنج شنبه 26 اسفند 1389, 19:59 عصر
سلام ،
لطفا هنگام گذاشتن کد در Syntax Highlighter از سند HTML یک راست کپی نفرمائید . در صورتی که سورس شما سند HTML هست ، ابتدا اون رو در یک سند Notepad بچسبانید و بعد اون رو دوباره کپی کنید و در Sysntax Highlighter قرار دهید . الان من چیزی از کدهای شما رو درک نمیکنم .
در هر صورت هنگامی که یک کوکی ایجاد میکنید ، باید پراپرتی Expire اون رو هم مقدار دهی کنید . در غیر اینصورت کوکی با بسته شدن مرورگر از بین خواهد رفت . به این کوکی ها Permanent Cookie گفته میشود . لطفا به این مثال توجه کنید :
Response.Cookies["userName"].Value = "patrick";
Response.Cookies["userName"].Expires = DateTime.Now.AddDays(1);
//Or
// هر دو مدل یکسان هستند
HttpCookie aCookie = new HttpCookie("lastVisit");
aCookie.Value = DateTime.Now.ToString();
aCookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(aCookie);
در صورتی که به این روش کار کرده اید ولی باز هم کوکی ذخیره نشده است ، این احتمال وجود دارد که کوکی رو در مروگر خود غیر فعال کرده باشید . محل ذخیر سازی کوکی ها با توجه به مرورگر و نسخه سیستم عامل متفاوت است .
ولی برای به عنوان نمونه :
Firefox stores your cookies in a plain text file located at (by default under XP) C:\Documents and Settings\username\Application Data\Mozilla\Firefox\Profiles\xxxx.default where xxxx is some random-appearing string.
موفق باشید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.