+1 امتیاز
قبل در کامپیوتر و اینترنت توسط (1.1هزار امتیاز)
برچسب گذاری دوباره قبل توسط

چه راه هایی وجود دارد که وب سرورها تشخیص دهند یک در خواست HTTP رسیده برای یک کار بر جدید است یا اینکه این کاربر قبلا یک صفحه از سایت را دیده است (مدیریت session). تکنولوژی یا زبان برنامه نویسی خاصی مدنظرم نیست، می خام بدونم یک وب سرور ساده به چه روش هایی می تونه کاربران جدید رو از کاربران قدیمی تشخیص بده؟

1 پاسخ

+1 امتیاز
قبل توسط (1.1هزار امتیاز)

بدلیل اینکه پروتکل HTTP یک پروتکل Stateless است، وب سرورها برای حفظ رد کاربر (session) باید از روش های جانبی استفاده کنند، بعضی از این روش ها عبارتند از:

  • استفاده از Cookie: در این روش وب سرور sessionId مربوط به کاربر جاری را درون یک Cookie در مرورگر کاربر ذخیره می کند و با استفاده از این Cookie کاربرهای جدید را از کاربرای قدیمی تشخیص می دهد.
  • استفاده از فیلد Hidden در فرم HTML: در این روش sessionId مربوط به کاربر جاری درون یک فیلد Hidden یک فرم HTML ذخیره می شود و در هر بار درخواست از سمت کلاینت به سرور ارسال می شود.
  • استفاده از URL: در این روش sessionId مربوط به کاربر جاری درون URL بعنوان پارامتر قرار می گیرد و در هر بار درخواست از سمت کلاینت به سرور ارسال می شود.

البته بعضی از موارد فوق توسط web framework ها نیز برای حفظ رد کاربر (session) استفاده می شوند.

قبل توسط (7.2هزار امتیاز)
یعنی با IP کاری ندارن؟ یعنی با دزدیده شدن Session Id امکان کار کردن به عنوان شخص لاگین شده وجود دارد؟
قبل توسط (1.1هزار امتیاز)
+1
بدلیل وجود IP های اشتراکی نمی تونند با IP کار کنند. معمولا علاوه بر sessionId یکسری ID دیگر نیز در سمت سرور نگه داشته میشه که در صورت دزدیده شدن sessionId بتوان تشخیص داد.
سوال شده 10 سال قبل در برنامه نویسی توسط (1.1هزار امتیاز)
ویرایش شده 10 سال قبل توسط
چرا استفاده از cookie برای شناسایی کاربر مناسب نیست؟

سوالات مشابه

0 امتیاز
1 پاسخ 567 بازدید
+1 امتیاز
2 پاسخ 11.5هزار بازدید
سوال شده 10 سال قبل در کامپیوتر و اینترنت توسط kashi (7.2هزار امتیاز)
+1 امتیاز
1 پاسخ 9.1هزار بازدید
+2 امتیاز
2 پاسخ 4.4هزار بازدید
+1 امتیاز
1 پاسخ 4.7هزار بازدید
0 امتیاز
1 پاسخ 571 بازدید
0 امتیاز
1 پاسخ 1.9هزار بازدید
0 امتیاز
1 پاسخ 758 بازدید
0 امتیاز
2 پاسخ 707 بازدید
...