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

نام تاپیک: چگونه متوجه بشم ریکوئست ارسال شده از application خودم اومده ؟

  1. #1

    چگونه متوجه بشم ریکوئست ارسال شده از application خودم اومده ؟

    سلام دوستان ، یک برنامه اندرویدی قراره نوشته بشه که سمت سرورش php هست و اطلاعات رد و بدل شونده هم json هستند ، حالا سوالم اینه چطوری متوجه بشم که ریکوئست های ارسال شده از برنامه ای هست که خودم نوشتم و از برنامه های غیره نیومده ؟ راهکارش چیه ؟

  2. #2

    نقل قول: چگونه متوجه بشم ریکوئست ارسال شده از application خودم اومده ؟

    نقل قول نوشته شده توسط dezchilds مشاهده تاپیک
    سلام دوستان ، یک برنامه اندرویدی قراره نوشته بشه که سمت سرورش php هست و اطلاعات رد و بدل شونده هم json هستند ، حالا سوالم اینه چطوری متوجه بشم که ریکوئست های ارسال شده از برنامه ای هست که خودم نوشتم و از برنامه های غیره نیومده ؟ راهکارش چیه ؟
    سوالتون خیلی شفاف نیست؟
    البته اینم که نوشتم توضیح واضحات هست...
    وقتی شما api وب سرویس سمت php می نویسید داخل برنامه خودتون سمت اندروید باید آدرس url وب سرویس خودتون را استفاده کنید بنابراین جواب دریافتی تون هم از وب سرویس خودتون هست

  3. #3

    نقل قول: چگونه متوجه بشم ریکوئست ارسال شده از application خودم اومده ؟

    نقل قول نوشته شده توسط dezchilds مشاهده تاپیک
    سلام دوستان ، یک برنامه اندرویدی قراره نوشته بشه که سمت سرورش php هست و اطلاعات رد و بدل شونده هم json هستند ، حالا سوالم اینه چطوری متوجه بشم که ریکوئست های ارسال شده از برنامه ای هست که خودم نوشتم و از برنامه های غیره نیومده ؟ راهکارش چیه ؟
    سلام

    معمولا از یک رشته درهم استفاده می شود. api_code این مقدار در برنامه ذخیره شده و همراه تمامی درخواست ها ارسال می شود و سمت سرور بررسی می شود. البته توجه داشته باشید که ارتباط بین برنامه و سرور باید کد شده باشد مثلا از ssl استفاده کنید.

  4. #4

    نقل قول: چگونه متوجه بشم ریکوئست ارسال شده از application خودم اومده ؟

    اگه یه api key داخل برنامتون ذخیره بشه یه نفر دیگه می تونه با مهندسی معکوس اون api key رو بدست بیاره و داخل یه کد دیگه استفاده کنه.

    اگه فقط می خواین برنامه ی خودتون از api که نوشتین استفاده کنه باید اول کاربر ثبت نام کنه و بعد از وارد شدن بتونه از api استفاده کنه( اینطوری می تونید اگه کسی هم بیش از حد از api استفاده می کنه محدود کنید)

    ** داخل راه حلی که گفته شد هنوز اپ دیگه ای می تونه از api استفاده کنه ولی خوبیش اینه که می تونید کاربر هاتون رو بر اساس تعداد درخواست و آی پی محدود کنید

  5. #5

    نقل قول: چگونه متوجه بشم ریکوئست ارسال شده از application خودم اومده ؟

    سلام

    معمولا از یک رشته درهم استفاده می شود. api_code این مقدار در برنامه ذخیره شده و همراه تمامی درخواست ها ارسال می شود و سمت سرور بررسی می شود. البته توجه داشته باشید که ارتباط بین برنامه و سرور باید کد شده باشد مثلا از ssl استفاده کنید.
    خوب اگه یه نفر این وسط بشینه و این api_code رو بدست بیاره و یه برنامه بنویسه که این api_code رو ارسال کنه ، نرم افزار من چطوری تشخیص بده که این api_code از یه برنامه ثانویه اومده ؟ یا برای مثال برنامه رو ریورس کنه و api_code رو بدست بیاره

    نقل قول نوشته شده توسط peymang مشاهده تاپیک
    اگه یه api key داخل برنامتون ذخیره بشه یه نفر دیگه می تونه با مهندسی معکوس اون api key رو بدست بیاره و داخل یه کد دیگه استفاده کنه.

    اگه فقط می خواین برنامه ی خودتون از api که نوشتین استفاده کنه باید اول کاربر ثبت نام کنه و بعد از وارد شدن بتونه از api استفاده کنه( اینطوری می تونید اگه کسی هم بیش از حد از api استفاده می کنه محدود کنید)

    ** داخل راه حلی که گفته شد هنوز اپ دیگه ای می تونه از api استفاده کنه ولی خوبیش اینه که می تونید کاربر هاتون رو بر اساس تعداد درخواست و آی پی محدود کنید
    یعنی راه حل قطعی وجود نداره که ریکوئست ها رو بتونی اعتبار سنجی کنی که از برنامه خودت اومده باشن ؟ میشه بیشتر در مورد مکانیزم چیزی که میگید توضیح بدید

    الان سوال اصلی اینه چطوری ریکوئست هایی که به سمت سرور میاد اعتبار سنجی بشه که از یه برنامه ثانویه نباشه ؟ مثلا تو برنامه های تحت وب میشه با استفاده از هدر فهمید که ریکوئست ها داره از چه آی پی و دامینی میاد و میشه اونطوری محدود کرد .

  6. #6

    نقل قول: چگونه متوجه بشم ریکوئست ارسال شده از application خودم اومده ؟

    اگه از سمت وب باشه می شه با یک key یا token و آی پی کنترل کرد(به خاطر اینکه قابل دیدن برای کلاینت نیست و آی پی ثابته) ولی اینجا کلاینت کنترل کامل روی اطلاعات ارسالی داره و از طرفی ممکنه کاربرها با یک ای پی درخواست بدن ( وقتی که روی یک شبکه باشند) که راه اعتبارسنجی از طریق ای پی هم بی استفاده میشه
    برای همین تنها راه به نظرم میمونه اعتبار سنجی از طریق نام و رمز که کاربر باهاش ثبت نام کرده

    مکانیزیم خاصی هم نداره مثلا وقتی که کاربر یه درخواست داد مثلا ستون "تعداد_درخواست" یک عدد اضافه بشه و اگه از یک حدی زیادتر شد محرومیت موقت یا دائم براش اعمال بشه و اگر هنوز به حداکثر درخواست نرسیده بود اطلاعات براش ارسال بشه

  7. #7
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: چگونه متوجه بشم ریکوئست ارسال شده از application خودم اومده ؟

    2 راه داری
    1 - کل دیتای ارسالی رو انکریپت کن و بعد بفرست و توی سرر دیکریپتش کن
    2 - توکن یا api_Code یا حالا هرچی رو با یه فرمول مشخص تولید کن مثلا ساعت و دقیقه فعلی رو میزاری کنار هم مثلا الان 2:38 دقیقست میشه 238
    وقتی درخواست رسید به سرور اوجا هم با همین فرمول عدد رو بدست میاری و مقایسه میکنی البته این یه مثال فوقالعاده ساده بود

  8. #8

    نقل قول: چگونه متوجه بشم ریکوئست ارسال شده از application خودم اومده ؟

    نقل قول نوشته شده توسط dezchilds مشاهده تاپیک
    خوب اگه یه نفر این وسط بشینه و این api_code رو بدست بیاره و یه برنامه بنویسه که این api_code رو ارسال کنه ، نرم افزار من چطوری تشخیص بده که این api_code از یه برنامه ثانویه اومده ؟ یا برای مثال برنامه رو ریورس کنه و api_code رو بدست بیاره
    دلیل شما برای اینکه میخواهید تنها برنامه اندرویدی امکان ارسال درخواست داشته باشد چیست؟ به عبارت دیگر هدف اصلی شما از این کار چیست؟

    وقتی شما public API ایجاد می کنید باید به این نکته توجه کنید که هر ریکوئستی که توسط برنامه اندرویدی شما ارسال شود می تواند توسط هر ابزار دیگری نیز ارسال شود و نمی توانید کنترلی روی آن داشته باشید تمامی راه حل های ارائه شده تنها کار را سخت تر می کند و یا به شما اجازه میدهد ریکوئست های متعدد ارسال شده از سوی یک کاربر خاص یا یک آی پی معین را مسدود کنید.

    در ضمن در ریکوئست های خود بجای استفاده از ID بهتر است از یک عبارت درهم استفاده کنید که مانع از دریافت کلیه اطلاعات سرور توسط مهاجم شوید. همچنین درخواست ها را بصورت کد شده و با متد پست ارسال کنید.

    اگر این موضوع خیلی برای شما مهم است برای سخت تر شدن کار مهاجم، می توانید بخش های انکریپتینگ و ارسال درخواست ها را با سی نوشته و بصورت کامپایل شده به برنامه اندرویدی خود اضافه کنید.

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

  1. سوال: آيا با كدنويسي در GUI Application مي توان ويدجتي ايجاد كرد؟
    نوشته شده توسط complexcoding در بخش برنامه نویسی در محیط QT و هم خانواده هایش
    پاسخ: 3
    آخرین پست: جمعه 04 اسفند 1391, 13:12 عصر
  2. چگونه می توان یک برنامه Application را از طریق ASP اجرا کرد؟
    نوشته شده توسط hedi در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: سه شنبه 28 تیر 1390, 14:00 عصر
  3. عدم ایجاد web application با توجه به نصب بودن IIS در Net.
    نوشته شده توسط amir_pro در بخش ASP.NET Web Forms
    پاسخ: 13
    آخرین پست: سه شنبه 11 دی 1386, 21:35 عصر
  4. چگونگی استفاده از توابع MFC در Windows Forms Application
    نوشته شده توسط محمد عرب در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 1
    آخرین پست: دوشنبه 03 بهمن 1384, 14:25 عصر
  5. خیلی ضروری-اجرای توام web-windows application
    نوشته شده توسط mehraaveh80 در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: پنج شنبه 10 شهریور 1384, 08:16 صبح

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

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