PDA

View Full Version : مشکل خواندن و نوشتن در کوکی



jaykob
پنج شنبه 28 بهمن 1389, 22:52 عصر
سلام

دوستان به چه شکل می شه دو مقدار یوزر نیم و پسورد را در کوکی نوشت و خوند مثل همان مرا به خاطر داشته باش که با زدن تیک چک باکس صورت می گیره . من با خاصیت value یک مقدار را خوندم اما با خاصیت values که یک کالکشن می گیره بلد نیستم این کار را انجام بدم ممنون می شم راهنمایی کنید .

با تشکر

oossaa
جمعه 29 بهمن 1389, 00:09 صبح
HttpCookie cookie = new HttpCookie("logedin");

cookie["username"] = "user";
cookie["password"] = "pass";

Response.Cookies.Add(cookie);

برای خوندن

Request.Cookies["logedin"].Values["username"].ToString()
Request.Cookies["logedin"].Values["password"].ToString()

jaykob
دوشنبه 02 اسفند 1389, 11:57 صبح
من 2 تا textbox گذاشتم و 2 تا دکمه که یک دکمه کوکی هارو ذخیره می کنه و یکی هم کاربر رو به یک صفحه دیگه می بره اگر یوزر نیم و پسورد درست باشه . در page load هم کوکی هارو می خونم که اگر توی کوکی بود بریز داخل تکست باکس ها اما عمل نمی کنه نمی دونم کجا رو اشتباه می کنم و یا کلا منطق کوکی هارو رعایت نمی کنم . ممنون می شم دوستان توضیح بدهند :



public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Cookies["login"] != null)
{

txtUserName.Text= Request.Cookies["login"].Values["username"].ToString();
txtPassWord.Text= Request.Cookies["login"].Values["password"].ToString();
}
}






protected void Button2_Click(object sender, EventArgs e)
{
HttpCookie cookie = new HttpCookie("login");
string username = txtUserName.Text;
string password = txtPassWord.Text;
cookie["username"] = "user";
cookie["password"] = "pass";
Response.Cookies.Add(cookie);

}

protected void Button1_Click1(object sender, EventArgs e)
{
if (txtUserName.Text == "admin" && txtPassWord.Text == "ali")
{

Response.Redirect("profile.aspx");
}
}
}

با تشکر

oossaa
دوشنبه 02 اسفند 1389, 15:24 عصر
دوست عزیز شما برنامه ت رو trace کن که ببین اصلا کوکی ساخته میشه
شاید اصلا رو سیستمی که داری امتحان می کنی کوکی بسته شده باشه یا زمان منقضی شدن کوکی را کم وارد کردی یا ....

actros
دوشنبه 02 اسفند 1389, 17:17 عصر
من 2 تا textbox گذاشتم و 2 تا دکمه که یک دکمه کوکی هارو ذخیره می کنه و یکی هم کاربر رو به یک صفحه دیگه می بره اگر یوزر نیم و پسورد درست باشه . در page load هم کوکی هارو می خونم که اگر توی کوکی بود بریز داخل تکست باکس ها اما عمل نمی کنه نمی دونم کجا رو اشتباه می کنم و یا کلا منطق کوکی هارو رعایت نمی کنم . ممنون می شم دوستان توضیح بدهند :



public partial class _Default : System.Web.UI.Page
{
protected void Button2_Click(object sender, EventArgs e)
{
HttpCookie cookie = new HttpCookie("login");
string username = txtUserName.Text;
string password = txtPassWord.Text;
cookie["username"] = "user";
cookie["password"] = "pass";
Response.Cookies.Add(cookie);
}
}
}با تشکر



قسمت بالا اشتباهه.
اینجور که شما نوشتی [" cookie["username همیشه مقدار user و [" cookie["username مقدار pass خواهد داشت.

کد رو به شکل زیر اصلاح کن :

protected void Button2_Click(object sender, EventArgs e)
{
HttpCookie cookie = new HttpCookie("login");
cookie["username"] = txtUserName.Text;
cookie["password"] = txtPassWord.Text;
Response.Cookies.Add(cookie);
}

Vahid_moghaddam
دوشنبه 02 اسفند 1389, 17:37 عصر
برای ساختن به خاطر داشته باش، چه نیازی به نوشتن user و password توی کوکی هست؟ بودن یک کوکی encrypt شده با مقداری مشخص کافیه. password موجود عزیزیه!

jaykob
دوشنبه 02 اسفند 1389, 17:55 عصر
قسمت بالا اشتباهه.
اینجور که شما نوشتی [" cookie["username همیشه مقدار user و [" cookie["username مقدار pass خواهد داشت.

کد رو به شکل زیر اصلاح کن :

protected void Button2_Click(object sender, EventArgs e)
{
HttpCookie cookie = new HttpCookie("login");
cookie["username"] = txtUserName.Text;
cookie["password"] = txtPassWord.Text;
Response.Cookies.Add(cookie);
}


با تشکر من کد زیر را به گفته شما عوض کردم اما زمان لود شدن تنها مقدار admin در داخل txtUserName وجود دارد و پسورد خالی هستش :



protected void Page_Load(object sender, EventArgs e)
{
if (Request.Cookies["login"] != null)
{

txtUserName.Text= Request.Cookies["login"].Values["username"].ToString();
txtPassWord.Text= Request.Cookies["login"].Values["password"].ToString();
}
}


protected void Button2_Click(object sender, EventArgs e)
{
HttpCookie cookie = new HttpCookie("login");
cookie["username"] = txtUserName.Text;
cookie["password"] = txtPassWord.Text;
cookie.Expires.AddYears(1);
Response.Cookies.Add(cookie);


}

protected void Button1_Click1(object sender, EventArgs e)
{
if (txtUserName.Text == "admin" && txtPassWord.Text == "ali")
{

Response.Redirect("profile.aspx");
}

زمانی هم که کوکی مورد نظر را از مرورگر می بینیم به این شکل نوشته :



username=admin&password=ali



برای ساختن به خاطر داشته باش، چه نیازی به نوشتن user و password توی کوکی هست؟ بودن یک کوکی encrypt شده با مقداری مشخص کافیه. password موجود عزیزیه!

ممنون دوست عزیز ممکنه بیشتر توضیح بدید اگر راه بهتری هستش چون من اطلاعاتم در این زمینه کم هست ممنون میشم راهنمایی کامل بفرمایید

oossaa
سه شنبه 03 اسفند 1389, 08:00 صبح
وانی که من واست نوشتم user , pass مثال بود رفتی دقیقا اونو نوشتی؟!!؟؟!
البته کوکی کد میشه اما راحتم دیکد میشه. من توصیه می کنم واسه این کار فقط به وجود یه متغیر اکتفا نکنی.
اگه تو وبسایتای بزرگ دقت کرده باشی مینویسن ورود اتوماتیک یعنی اینه واسه احراز هویت کاربر باز به پایگاه داده وصل می شن و امنیت رو رعایت می کنن و ورود شما به جای اینکه توسط خودتون انجام بشه اتوماتیک میشه هرچند که خود password هم باید encrypt باشه الگوریتم های رمز کردن تو وبسایت هست بگردی پیدا می کنی

jaykob
سه شنبه 03 اسفند 1389, 16:18 عصر
وانی که من واست نوشتم user , pass مثال بود رفتی دقیقا اونو نوشتی؟!!؟؟!
البته کوکی کد میشه اما راحتم دیکد میشه. من توصیه می کنم واسه این کار فقط به وجود یه متغیر اکتفا نکنی.
اگه تو وبسایتای بزرگ دقت کرده باشی مینویسن ورود اتوماتیک یعنی اینه واسه احراز هویت کاربر باز به پایگاه داده وصل می شن و امنیت رو رعایت می کنن و ورود شما به جای اینکه توسط خودتون انجام بشه اتوماتیک میشه هرچند که خود password هم باید encrypt باشه الگوریتم های رمز کردن تو وبسایت هست بگردی پیدا می کنی


ممنون دوست عزیز برای پاسختون

در نیتیجه من به چه شکل این مرا به خاطر داشته باش رو بنویسم ؟ با کوکی یا با دیتابیس که گفتید ؟ اگه امکان داره بیشتر توضیح بدید که به نتیجه برسم .

با تشکر