سلام و وقت بخیر در asp.net mvc
میخوام یه آزمون آنلاین درست کنم چطوری می تونم بعد از لاگین کردن کاربر اگر تا 5 دقیقه دکمه ثبت را نزد فرم خودکار ثبت بشه
اگر صفحه هم رفرش کرد شمارنده صفحه صفر نشه.
در واقع مشکل اصلیم اینه که می خوام برای هر دانش آموز تایمری روی صفحه بذارم که با رفرش شدن صفحه از اول شروع نکنه
سلام
تایمر را با جی کوئری بنویس که مجبور نباشی صفحه را رفرش کنی
اگر هم اصرار به رفرش داری مقدار را مدام داخل سشن نگه دار هرچند پدر سرور در میاد
نه دوست من اشتباه متوجه شدید من نمیخوام صفحه رفرش بشه فرض کنید دانش آموز وارد صفحه آزمون شده و 5 دقیقه وقت داره تا آزمون بده حالا تایمر شروع به کم شد میکنه دانش آموزش چون می خواد تقلب کنه و زمانشو بیشتر کنه صفحه رو رفرش می کنه اینجوری تایمر دوباره از اول شروع به شمردن میکنه!!! ( شاید روشی من رفتم اشتباه باشه کلا چطوری میشه زمان محدود روی سایت گذاشت)
سلام دوست عزیز
شما باید وقتی کاربر رو برای اولین بار می فرستید برای آزمون ، یه ExpierDate براش تو دیتابیس بسازید و هردفعه که کاربر صفحه رو رفرش کرد اون Expier رو از سرور بخونید و با تاریخ الان مقایسه نمایید.
سلام مجدد
خب بله شما هم زحمت کشیدید و موضوع را به بنده بدجور تفهیم نمودید!!!!!!!!!!!
معمولا به هنگام طرح سوال، باید دغدغه هایمان را مطرح کنیم نه روند یک کار را!
بگذریم!
برای پوشش این دغدغه یعنی تقلب دانشجو در مدت زمان آزمون شما راه های مختلفی داری:
1- به محض شروع آزمون یک زمان انقضای قانونی در دیتابیس ذخیره کن و هر بار که صفحه را لود می کنی اون مدت زمان انقضا یا باید کمتر باشه یا اصلا Null باشه
اگر Null باشه یعنی اولین ورود است پس اشکالی نداره و اگر مدت زمان کمتر باشد یعنی رفرش شده ولی هنوز مهلت تمام نشده و تایمر شده اون مقدار باقیمانده را نشان بدهد. این باعث میشه حتا اگر هم رفرش کند باز مدت زمان باقیمانده را نمایش دهد که هیچ اشکالی هم ندارد
2- یک مقدار مثلا از طریق کوئری استرینگ یا سشن یا هر چیزی دیگر از صفحه قبل به صفحه آزمون پاس بده.
اگر رفرش کند چون پاس دادن اتفاق نیفتاده پس اون مقدار را نداره پس صفحه معتبر نیست
اگر هم به صفحه قبل بک کند بلافاصله آزمون را اختتام بده توسط دیتابیس تا نتواند مجدد وارد آزمون شود.
اینها از تکنیک های امنیت نرم افزار است که اگر اینترنت را خوب مطالعه کنی مطالب زیادی پیدا می کنی
امیر جان عالی بود دستت درد نکنه حالا تست می کنم و نتیجه رو همینجا با کدهاش اعلام میکنم بهتون ( برای آیندگان )
مرسی
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)