صفحه 1 از 2 12 آخرینآخرین
نمایش نتایج: از شماره 1 تا 10 , از مجموع 12

موضوع: رمز کردن اطلاعات api برای عدم استفاده از api ؟

  1. #1
    عضو جدید
    تاریخ عضویت
    Dec 2018
    نوشته ها
    7
    تشکر تشکر کرده 
    7
    تشکر تشکر شده 
    0
    تشکر شده در
    0 پست

    پیش فرض رمز کردن اطلاعات api برای عدم استفاده از api ؟

    اساتید ما یک api داریم میخوایم این وسط کسی از این اطلاعات استفاده نکنه.. مثلا رمزنگاری کنیم اطلاعات رو فقط مطمن شیم اسکریپت ما سمت کلاینت قابلیت خوندن رو داره.. سما کلاینت هم همون وب هست که با js اطلاعات رو میگیریم

  2. # ADS




     

  3. #2
    عضو جدید
    تاریخ عضویت
    Dec 2018
    نوشته ها
    7
    تشکر تشکر کرده 
    7
    تشکر تشکر شده 
    0
    تشکر شده در
    0 پست

    پیش فرض پاسخ : رمز کردن اطلاعات api برای عدم استفاده از api ؟

    کسی نیست

  4. #3
    عضو انجمن lizard.tiny آواتار ها
    تاریخ عضویت
    Jul 2011
    محل سکونت
    miladworkshop.ir
    نوشته ها
    480
    تشکر تشکر کرده 
    234
    تشکر تشکر شده 
    960
    تشکر شده در
    478 پست

    پیش فرض پاسخ : رمز کردن اطلاعات api برای عدم استفاده از api ؟

    سلام

    کافیه یک کلید ایجاد کنید و به اسکریپت هم اون کلید رو بدید

    سمت سرور api هم در صورتی خروجی بده که اون کلید ارسال شده باشه

    در صورتی که کلید وجود نداشته باشه api اجرا نشه و خطا بده
    Contact Me >> Mobile : 09304443004 | Telegram ID : @miladworkshop | Email : info@miladworkshop.ir

  5. تعداد تشکر ها از lizard.tiny به دلیل پست مفید


  6. #4
    عضو جدید
    تاریخ عضویت
    Dec 2018
    نوشته ها
    7
    تشکر تشکر کرده 
    7
    تشکر تشکر شده 
    0
    تشکر شده در
    0 پست

    پیش فرض پاسخ : رمز کردن اطلاعات api برای عدم استفاده از api ؟

    نقل قول نوشته اصلی توسط lizard.tiny نمایش پست ها
    سلام

    کافیه یک کلید ایجاد کنید و به اسکریپت هم اون کلید رو بدید

    سمت سرور api هم در صورتی خروجی بده که اون کلید ارسال شده باشه

    در صورتی که کلید وجود نداشته باشه api اجرا نشه و خطا بده
    مرسی اما مشکل اینه که کلید رو میشه از سورس درآورد..

  7. #5
    عضو انجمن lizard.tiny آواتار ها
    تاریخ عضویت
    Jul 2011
    محل سکونت
    miladworkshop.ir
    نوشته ها
    480
    تشکر تشکر کرده 
    234
    تشکر تشکر شده 
    960
    تشکر شده در
    478 پست

    پیش فرض پاسخ : رمز کردن اطلاعات api برای عدم استفاده از api ؟

    دسترسی به api رو به ip یا دامنه محدود کنید
    Contact Me >> Mobile : 09304443004 | Telegram ID : @miladworkshop | Email : info@miladworkshop.ir

  8. تعداد تشکر ها از lizard.tiny به دلیل پست مفید


  9. #6
    عضو دائم T.Toosi آواتار ها
    تاریخ عضویت
    Jun 2015
    نوشته ها
    1,071
    تشکر تشکر کرده 
    278
    تشکر تشکر شده 
    2,936
    تشکر شده در
    1,329 پست

    پیش فرض پاسخ : رمز کردن اطلاعات api برای عدم استفاده از api ؟

    باسلام، در هر صورت اگر فرد کنجکاو باشد کاری از دست شما بر نخواهد آمد، پروتکلی هم برای اینکه تضمین کند کلاینت در صفحه مورد نظر توسط مرورگر خود از وب سرویس استفاد می کند وجود ندارد، اما راه هایی وجود دارد که زندگی را برای این فرد سختر کنید.

    به طور مثال در هربار درخواست کاربر می توانید جواب را توسط یک کلید xor کنید سپس این کلید را به آخر جواب خود اضافه کنید سپس این دیتا را در قالب دیتا باینری به کاربر ارسال کنید، سمت کاربر با توجه به طول کلید، کلید را استخراج کرده و دیتا را دوباره xor کنید تا به دیتا اصلی برسید، همچنین اگر قرار است به طور مثال در صفحه mypage وب سرویس شروع به کار کند، در این صفحه یک سشن برای کاربر ایجاد کنید و در درخواست های بعدی از وجود سشن اطمینان حاصل کنید تا در حدی مطمئن شوید کاربر در صفحه مورد نظر از وب سرویس استفاده می کند.

  10. تعداد تشکر ها از T.Toosi به دلیل پست مفید


  11. #7
    عضو جدید
    تاریخ عضویت
    Dec 2018
    نوشته ها
    7
    تشکر تشکر کرده 
    7
    تشکر تشکر شده 
    0
    تشکر شده در
    0 پست

    پیش فرض پاسخ : رمز کردن اطلاعات api برای عدم استفاده از api ؟

    نقل قول نوشته اصلی توسط lizard.tiny نمایش پست ها
    دسترسی به api رو به ip یا دامنه محدود کنید
    فکر کنم متوجه نشدید.. کاربر من با مرورگرش به api وصل میشه..

    - - - Updated - - -

    نقل قول نوشته اصلی توسط T.Toosi نمایش پست ها
    باسلام، در هر صورت اگر فرد کنجکاو باشد کاری از دست شما بر نخواهد آمد، پروتکلی هم برای اینکه تضمین کند کلاینت در صفحه مورد نظر توسط مرورگر خود از وب سرویس استفاد می کند وجود ندارد، اما راه هایی وجود دارد که زندگی را برای این فرد سختر کنید.

    به طور مثال در هربار درخواست کاربر می توانید جواب را توسط یک کلید xor کنید سپس این کلید را به آخر جواب خود اضافه کنید سپس این دیتا را در قالب دیتا باینری به کاربر ارسال کنید، سمت کاربر با توجه به طول کلید، کلید را استخراج کرده و دیتا را دوباره xor کنید تا به دیتا اصلی برسید، همچنین اگر قرار است به طور مثال در صفحه mypage وب سرویس شروع به کار کند، در این صفحه یک سشن برای کاربر ایجاد کنید و در درخواست های بعدی از وجود سشن اطمینان حاصل کنید تا در حدی مطمئن شوید کاربر در صفحه مورد نظر از وب سرویس استفاده می کند.
    مرسی.. چطوری باینری بفرستم ؟ اگر encrypt کردم چطوری کلید رو قاطیش کنم ؟!

  12. #8
    عضو انجمن
    تاریخ عضویت
    Sep 2010
    نوشته ها
    713
    تشکر تشکر کرده 
    566
    تشکر تشکر شده 
    1,153
    تشکر شده در
    790 پست

    پیش فرض پاسخ : رمز کردن اطلاعات api برای عدم استفاده از api ؟

    عزیز شما میخوای کسی نتونه از اون api استفاده بکنه و بزاره مثلا داخل سایت خودش و کاربر هاش استفاده کنن ؟

    اگر فقط یکبار در هر مراجعه api اطلاعات میده این کد به دردتون میخوره . اگر نه کد دوم که مخصوص api هست رو تغییر بدید که سشن رو پاک نکنه





    کد اول هنگام لود صفحه ی مورد نظر ( تنها در همین صفحه اجرا شود و نه کل اسکریپت ( عدم همپوشانی با api به خاطر حذف نشدن سشن))


    کد PHP:
    if (session_status() == PHP_SESSION_NONE) {
        
    session_start();
    }

    $api_sec rand(5000005000000);
    $_SESSION['api_sec'] = $api_sec;

    setcookie("api_sec"$api_sec); 

    کد دوم برای فرانت . متغییر url رو به نام چیزی که هست برای api تغییر بدید

    کد:
    function getCookie(cname) {
      var name = cname + "=";
      var decodedCookie = decodeURIComponent(document.cookie);
      var ca = decodedCookie.split(';');
      for(var i = 0; i <ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') {
          c = c.substring(1);
        }
        if (c.indexOf(name) == 0) {
          return c.substring(name.length, c.length);
        }
      }
      return "";
    }
    
    
    var url = 'api.php?api_sec='+getCookie('api_sec');

    کد سوم مربوط به api

    کد PHP:
    if(!isset($_SESSION['api_sec']) || empty($_SESSION['api_sec']) || !isset($_GET['api_sec']) || $_GET['api_sec'] != $_SESSION['api_sec']){
        die;
    } else{
        
    $_SESSION['api_sec'] = "";

    ویرایش توسط hoka : December 13th, 2018 در ساعت 02:50

  13. تعداد تشکر ها از hoka به دلیل پست مفید


  14. #9
    عضو جدید
    تاریخ عضویت
    Dec 2018
    نوشته ها
    7
    تشکر تشکر کرده 
    7
    تشکر تشکر شده 
    0
    تشکر شده در
    0 پست

    پیش فرض پاسخ : رمز کردن اطلاعات api برای عدم استفاده از api ؟

    نقل قول نوشته اصلی توسط hoka نمایش پست ها
    عزیز شما میخوای کسی نتونه از اون api استفاده بکنه و بزاره مثلا داخل سایت خودش و کاربر هاش استفاده کنن ؟

    اگر فقط یکبار در هر مراجعه api اطلاعات میده این کد به دردتون میخوره . اگر نه کد دوم که مخصوص api هست رو تغییر بدید که سشن رو پاک نکنه





    کد اول هنگام لود صفحه ی مورد نظر ( تنها در همین صفحه اجرا شود و نه کل اسکریپت ( عدم همپوشانی با api به خاطر حذف نشدن سشن))


    کد PHP:
    if (session_status() == PHP_SESSION_NONE) {
        
    session_start();
    }

    $api_sec rand(5000005000000);
    $_SESSION['api_sec'] = $api_sec;

    setcookie("api_sec"$api_sec); 

    کد دوم برای فرانت . متغییر url رو به نام چیزی که هست برای api تغییر بدید

    کد:
    function getCookie(cname) {
      var name = cname + "=";
      var decodedCookie = decodeURIComponent(document.cookie);
      var ca = decodedCookie.split(';');
      for(var i = 0; i <ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') {
          c = c.substring(1);
        }
        if (c.indexOf(name) == 0) {
          return c.substring(name.length, c.length);
        }
      }
      return "";
    }
    
    
    var url = 'api.php?api_sec='+getCookie('api_sec');

    کد سوم مربوط به api

    کد PHP:
    if(!isset($_SESSION['api_sec']) || empty($_SESSION['api_sec']) || !isset($_GET['api_sec']) || $_GET['api_sec'] != $_SESSION['api_sec']){
        die;
    } else{
        
    $_SESSION['api_sec'] = "";

    مرسی.. این روش رو زده بودیم.. راحت میتونه با curl یک درخواست بزنه سشن یا کوکی رو بگیره و ادامه کار..
    خودم فهمیدم 100% نمیشه امنش کرد.. اما دنبال راهی هستم به همین راحتی هم از api استفاده نکنه..

  15. #10
    عضو انجمن
    تاریخ عضویت
    Sep 2010
    نوشته ها
    713
    تشکر تشکر کرده 
    566
    تشکر تشکر شده 
    1,153
    تشکر شده در
    790 پست

    پیش فرض پاسخ : رمز کردن اطلاعات api برای عدم استفاده از api ؟

    نقل قول نوشته اصلی توسط hadiarya نمایش پست ها
    مرسی.. این روش رو زده بودیم.. راحت میتونه با curl یک درخواست بزنه سشن یا کوکی رو بگیره و ادامه کار..
    خودم فهمیدم 100% نمیشه امنش کرد.. اما دنبال راهی هستم به همین راحتی هم از api استفاده نکنه..
    اینکه صد در صد . هرچیزی که انسان بتونه در نت رد بکنه یک کرالر هم میتونه . دیگه این بستگی به طرف داره چقدر فنی باشه . بیشترین درصد موفقیت این هست که سوال و جواب قرار بدید در صفحه و نتیجه رو ارسال کنید به api و با سشن تطبیق بدید .
    ویرایش توسط hoka : December 13th, 2018 در ساعت 04:00

صفحه 1 از 2 12 آخرینآخرین

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. پاسخ ها: 16
    آخرين نوشته: October 25th, 2018, 23:23
  2. پاسخ ها: 59
    آخرين نوشته: January 18th, 2015, 16:02
  3. سوال - بستن رنج ای پی با استفاده دسترسی روت به سرور مجازی
    توسط Admin_chatBaran.ir در انجمن سوالات و مشکلات
    پاسخ ها: 2
    آخرين نوشته: January 8th, 2015, 19:53
  4. پاسخ ها: 84
    آخرين نوشته: July 28th, 2014, 02:59
  5. پاسخ ها: 20
    آخرين نوشته: February 28th, 2010, 03:39

مجوز های ارسال و ویرایش

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