نمایش نتایج 1 تا 2 از 2

نام تاپیک: محدود کردن استفاده از web api

  1. #1

    محدود کردن استفاده از web api

    سلام. فرض کنید که یک web api داریم و در وب اپلیکیشن سمت کلاینت از طریق ajax و همچنین از طریق اپلیکیشن اندرویدی خودمون به متدهای این api دسترسی پیدا میکنیم. در این حالت اکشن های این api از طریق کد وب اپلیکیشن در معرض دید همه هست. و هر کی بخواد میتونه یک اپ دیگه بنویسه که با این api ارتباط برقرار کنه و کار کنه! میخواستم بدونم برای جلوگیری از این مشکل راه حل استاندارد چی هست. ممنون میشم راهنمایی کنید.
    آخرین ویرایش به وسیله vbkaar : چهارشنبه 11 اردیبهشت 1398 در 16:16 عصر

  2. #2
    کاربر دائمی آواتار farhad_shiri_ex
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    تهران
    سن
    37
    پست
    951

    نقل قول: محدود کردن استفاده از web api

    نقل قول نوشته شده توسط vbkaar مشاهده تاپیک
    سلام. فرض کنید که یک web api داریم و در وب اپلیکیشن سمت کلاینت از طریق ajax و همچنین از طریق اپلیکیشن اندرویدی خودمون به متدهای این api دسترسی پیدا میکنیم. در این حالت اکشن های این api از طریق کد وب اپلیکیشن در معرض دید همه هست. و هر کی بخواد میتونه یک اپ دیگه بنویسه که با این api ارتباط برقرار کنه و کار کنه! میخواستم بدونم برای جلوگیری از این مشکل راه حل استاندارد چی هست. ممنون میشم راهنمایی کنید.
    یک راه حل این هست که یک checksum ویا یک CRC بسازید در اپلیکیشن های خودتون حالا چه وب چه موبایل سمت سرور هم این کد را مجددا بسازید با کد دریافتی خودتون از کلاینت ها مطابقت بدهید در صورتی که رکویست به سرور از سمت برنامه های خودتون نبود رکویست کنسل کنید اینطوری دیگه به راحتی نمیتونن از وب سرویس های شما استفاده کنند.
    برای CRC هم می توانید از این روش استفاده کنید
    1- داده های مورد نظری که می خواهید ارسال کنید را با یک generator مثل این CRC12 : G=X^12+X^11+X^3+X^2+X^1+1 تقسیم کنید.
    2- بایقیمانده تقسیم را به فریم داده اضافه کنید در اینجا حتی می توانید از اعداد ابتکاری ریاضی هم استفاده کنید
    3- داده را به سمت سرور ارسال کنید.
    4- در سمت سرور هم همین عملیات را بالعکس تکرار کنید باقیمانده تقسیم و داده ها را باهم مقایسه کنید.
    حتی با کمی تغییر این الگوریتم می توانید از دستکاری داده هاتون هم توسط ابزارهای اسنیفینگ در امان بمونید مثلا تصور کنید که داده هایی که با جنراتور تقسیم کردید را در سمت سرور هم اگر مجددا تقسیم بر جنراتور و باقیمانده تقسیم که دریافت کردید انجام بدید نتیجه باید 0 شود که در اونصورت یعنی داده های شما تغییری در بین راه نداشته اند و مطمن هستند.
    البته روش های دیگه مثل Hash و checksum و... هم هستند حتی می توانید از ترکیب این روشها هم استفاده کنید.

تاپیک های مشابه

  1. پاسخ: 2
    آخرین پست: پنج شنبه 20 آذر 1393, 09:07 صبح
  2. پاسخ: 3
    آخرین پست: شنبه 22 مرداد 1390, 13:07 عصر
  3. پاسخ: 2
    آخرین پست: شنبه 21 شهریور 1388, 14:26 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •