لوگ آت شدن اونهم بدون دونستن کد لاگین؟ مگه میشه؟به نقل از aref1364 :لطفا برنامه ای برای logout شدن بنویسید. البته تو سایتم هیچ session یا کوکی استفاده نکردم!
تاييد ميشهلوگ آت شدن اونهم بدون دونستن کد لاگین؟ مگه میشه؟
به نقل از amironline :تاييد ميشه
خوب شما بايد توضيح بدين كه چه جوري لاگين ميكنين؟
تا بشه توضيح داد
اینکه کافی نیست. خب شاید شما یکسری اطلاعات رو میریزید توی متغیر مثلا X خب من از کجا بدونم اسمش چیه که بهتون کمک کنم!؟به نقل از aref1364 :ارتباط با ÷ایگاه داده ام از طریق dsn هست. من از دستورای if و do while ساده برای ورود استفاده می کنم. در طول برنامه هیچ session وجود نداره...!!!
خب اینجوری که من میبینم اطلاعات یوزرهای لاگ شده میرن توی یک تیبل در دیتابیس. خب برای لاگ آوت کردن باید اون یوزر رو از اون تیبل حذف کنید:به نقل از aref1364 :set recordset1=server.createobject("ADODB.Recordset")
recordset1.open sql1, conn1, 0, 1, adcmdtable
user1=request("username")
pass1=request("password")
found=false
do while not (recordset1.eof or found)
searchuser=recordset1("username")
if (searchuser=user1) then
pass2=recordset1("password")
if (pass2=pass1) then
found=true
end if
end if
recordset1.movenext
loop
if (found=true) then
.
.
.
.
DELETE FROM table_name WHERE (username='username_here' AND password='password_here');
به نقل از balabala :خب اینجوری که من میبینم اطلاعات یوزرهای لاگ شده میرن توی یک تیبل در دیتابیس. خب برای لاگ آوت کردن باید اون یوزر رو از اون تیبل حذف کنید:
کد:DELETE FROM table_name WHERE (username='username_here' AND password='password_here');
الان این متغیر sql1 دقیقا مقدارش چیه؟به نقل از aref1364 :راستشو بخوای من فقط یک جدول دارم که توش چیز اضافی نمی بینم.
خب شما اگر دستی اینها رو وارد کردید باید یکجایی هم یه کد لاگین بگذارید که این کار رو بکنه:به نقل از aref1364 :sql1="select username, password from Table1"
شما درست میگی اما اگه یوزر رو حذف کنم که دیگه کاربر دفعه ی قبل نمیتونه وارد بشه که.
ببین میشه فقط رکوردست و کانکشن به ÷ایگاه داده رو ببندم؟
این کافیه برای لاگ اوت شدن دیگه نه؟
INSERT INTO Table1 (username, password) VALUE ('username_here', 'password_here');
به نقل از balabala :خب شما اگر دستی اینها رو وارد کردید باید یکجایی هم یه کد لاگین بگذارید که این کار رو بکنه:
کد:INSERT INTO Table1 (username, password) VALUE ('username_here', 'password_here');
اینطوری نمیشه که کانکشن روقطع کرد.
منظورتون فانکشنهای ADODB.Recordset مثل Add و Update هست؟به نقل از aref1364 :من مقادیر رو با sql وارد رکوردهای جدول نمی کنم. از همون دستورهای asp برای اینکار استفاده می کنم. آیا این میتونه مشکلی داشته باشه بعدا؟
به نقل از H_R :بینم اگه از session و کوکی استفاده نمیکنی ، از کجا میفهمی که این کاربر وقتی صفحه رو عوض کرد همونی اه که توی دیتا بیس اسمش رو نوشتی ؟؟؟؟
از کوری استرینگ استفاده میکنی ؟؟
به نقل از aref1364 :بله از querystring های مخفی استفاده می کنم!
به نقل از H_R :خوب چه کاریه ، بیا یه جوری کوری استرینگت رو رمز کن مثلا http://iranasp.net/Articles/ShowArticle.aspx?articleid=165 بعد فقط وقت لاگین شدن چک کن ببین یوزر نیم و پس ورد درست باشه بهد یوزر نیم رو با کوری استرینگ انکریپنت شده (رمز شده ) وقتی هم خواستی لاگ اوت کنه کوری استرینگ رو بردار اینطوری یخیل بهتره چون هی لازم نیست به دیتابیست وصل بشی !! (میدونی چقدر منابع مصرف میکنه ؟؟ )
در ضمن خوبه که یه زمان هم برای مدت لاگین بودن و معتبر بودن توی همون کوری استرینگت بذاری تا با توی حافظه اینترنت اکسپلورر آدرس کمسی که لایگن کرذده بوده نمونه
یه مثل خوب توی سایت codeproject هست بد نیست ببینیش
دست آخر روش کوکی و مخصوصا سیشن که انکریپت شدن هم در کار باشه ! برای ای اس پی 3 و برای دات نت هم روش authentication روش های قابل اعتمادی هستند !!!بخودی قضیه رو سختش نکن
به نقل از mehdvirus :مگه سیژن و کوکی چشونه؟؟؟؟؟؟