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

نام تاپیک: کدام پروتکل: git:// یا ssh:// یا https://؟

  1. #1
    کاربر دائمی آواتار Yousha
    تاریخ عضویت
    مهر 1387
    محل زندگی
    ایران - تهران
    پست
    515

    Post کدام پروتکل: git:// یا ssh:// یا https://؟

    همونطور که می دونید برنامه Git برای کار با repository، پنج پروتکل در اختیار ما گذاشته که هرکدوم مزایا و معایب خودشونو دارن. این پروتکل ها:
    1- File (یا همون Local protocol)
    2- HTTP (یا همون Dumb protocol)

    3- HTTPS (یا همون Smart protocol)
    4- SSh
    5- Git
    هستند. اما از کدوم پروتکل باید استفاده کنیم؟ کدوم پروتکل امنیت بیشتری داره؟ و کدوم پرتکل سرعت بیشتری داره؟
    پس وارد جزئیات میشیم!

    //:File
    این پروتکل برای کار با repository های داخل هارد(local) طراحی شده و ما در اینجا کاری بهش نداریم.

    //:HTTP
    این پروتکل بخاطر برخی کمبود ها و ضعفهای امنیتیش تقریباً منسوخ شده و هیچ سروری دیگه ازش استفاده نمی کنه و خود تیم Git هم ردش میکنه.


    //:HTTPS

    • در حال حاضر، ساده ترین، محبوب ترین و سازگارترین(compatible) پروتکل استفاده از Git هستش.
    • هم قابلیت Read-only داره و هم Writable هه.
    • سرعتش برای انتقال اطلاعات نرماله.
    • سرور بصورت خودکار توسط certificate تایید می شه.
    • hand-shake بین کلاینت و سرور در 2-3 پروسه انجام میشه.
    • توسط X.509 certificate اطلاعات رو رمزنگاری می کنه.
    • نیاز به SSh Keys و آپلود Public Key در سرور نداره، پس از هر مکانی و سیستمی قابل استفادست. (web-based)
    • از Pr@xi پشتیبانی می کنه.
    • معمولاً در پورت 443 تنظیم میشه و توسط Firewall مسدود نشده.
    • گزینه مناسب برای repository های عمومی و خصوصی با ترافیک متوسط.
    • احراز هویت(authentication) توسط username و password حساب کاربر در سرور انجام میشه.
    • در صورت دزدیده شدن username و password، کل حساب کاربری در سرور از دست خواهد رفت.
    • اکثر سرورهای HTTPS اجازه pull و clone کردن بصورت anonymous رو میدن.
    • بیشتر فرایند های امنیتی در مرورگر/وب انجام میشه و نه در Git.
    • دستورات و عملیات بصورت POST/GET ارسال و دریافت میشن.
    • بدون تنظیم credential-caching در کلاینت، کاربر برای push کردن باید هربار احراز هویت کند. (clone و pull رو هم شامل میشه اگر دسترسیش محدود شده باشه)
    • برای راه اندازی سرور Git، به برنامه Git، یک TLS certificate معتبر و Web server نیاز داره. بنابراین راه اندازی سرور HTTPS کمی زمانبر هستش.
    • این پروتکل تقریباً در سال 1995 رونمایی شد.
    • نمونه URL:
      کد:

      git clone https://domain/project.git


    //:SSh
    • نسبت به HTTPS از سادگی، محبوبیت و سازگاری(compability) کمتری برخورداره. (چون حرفه ای تر و قدرتمند تره)
    • هم قابلیت Read-only داره و هم Writable هه.
    • سرعتش برای انتقال اطلاعات سریعتر از HTTPS هه.
    • سرور با اجازه کاربر توسط Fingerprint کلید تایید می شه.
    • hand-shake بین کلاینت و سرور در 5-6 پروسه انجام میشه.
    • توسط AES, Blowfish, RC4, 3DES, CAST128 یا Arcfour اطلاعات رو رمزنگاری می کنه.
    • نیاز به SSh Keys و آپلود Public Key در سرور داره، پس کاربر باید به SSh مجهز باشه.
    • از Pr@xi پشتیبانی می کنه.
    • معمولاً در پورت 9418 تنظیم میشه و گاهاً توسط Firewall مسدود شده. (در سرورهای درجه 2-3 یا دولتی)
    • بهترین گزینه برای repository های خصوصی و حساس.
    • احراز هویت(authentication) توسط Key ها انجام میشه. (حداکثر امنیت)
    • در صورت دزدیده شدن Private Key، کافیست Public key از حساب کاربری در سرور حذف بشه.
    • اکثر سرورهای SSh اجازه pull و clone کردن بصورت anonymous رو نمیدن.
    • بیشتر فرایند های امنیتی در خود SSh و Git انجام میشه.
    • دستورات و عملیات بصورت پارامتری ارسال و دریافت میشن.
      کد:

      ssh -x git@domain "git-receive-pack 'project.git'"
    • کاربر برای push کردن کافیست فقط یکبار در کلاینتش احراز هویت کند. (clone و pull رو هم شامل میشه)
    • برای راه اندازی سرور Git، به برنامه Git، و SSh نیاز داره.
    • این پروتکل تقریباً در سال 1995 رونمایی شد.
    • نمونه URL:
      کد:

      git clone ssh://username@domain/project.git
      یا
      git clone username@domain:project.git


    //:Git
    • نسبت به SSh از سادگی، محبوبیت و سازگاری(compability) بیشتری برخورداره.
    • در حالت معمول فقط قابلیت Read-only داره.
    • سرعتش برای انتقال اطلاعات بسیار سریعتر از HTTPS و SSh هه.
    • هیچ مکانیزمی برای تایید سرور نداره.
    • تقریباً هیچ hand-shake ای بین کلاینت و سرور انجام نمیشه.
    • هیچ مکانیزم رمزنگاری درکار نیست.
    • نیاز به SSh Keys و آپلود Public Key در سرور نداره، فقط به برنامه Git نیاز داره.
    • از Pr@xi پشتیبانی می کنه.
    • معمولاً در پورت 9418 تنظیم میشه و گاهاً توسط Firewall مسدود شده. (در سرورهای درجه 2-3 و دولتی)
    • بهترین گزینه برای repository های عمومی Read-only با ترافیک بالا یا پروژه های سنگین.
    • هیچ احراز هویت(authentication) ای انجام نمیشه. (حداقل امنیت)
    • هیج گونه اطلاعات حساسی برای دزدیده شدن وجود نداره.
    • همه سرورهای Git اجازه pull و clone کردن بصورت anonymous رو میدن.
    • هیچ فرایند امنیتی انجام نمیشه.
    • دستورات و عملیات بصورت پارامتری ارسال و دریافت میشن.
      git domain "git-receive-pack 'project.git'"
    • در حالت معمول امکان write/push کردن وجود نداره.
    • برای راه اندازی سرور Git فقط به Git نیاز داره.
    • این پروتکل تقریباً در سال 2005 رونمایی شد.
    • نمونه URL:
      کد:

      git clone git://domain/project.git


    توجه: شما خودتون هم میتونید دسترسی Read-Only یا Writable به هر پروتوکلی که خواستید بدید.
    این نکته رو هم در نظر داشته باشید که هرکدوم مزایا و معایب خودشونو دارن و باید درجای مناسبش پروتکل مناسب رو انتخاب کنید.

    این مقاله جامع ترین و کامترین در نوع خودشه، حتی در بین مقالات خارجی.


    منبع: انجمن IranPHP
    آخرین ویرایش به وسیله Yousha : پنج شنبه 26 شهریور 1394 در 18:47 عصر

  2. #2
    کاربر دائمی آواتار ابوالفضل عباسی
    تاریخ عضویت
    شهریور 1393
    محل زندگی
    Inside Esfahan
    پست
    719

    نقل قول: کدام پروتکل: git:// یا ssh:// یا https://؟

    بنظر من از git و ssh(این بهتره) استفاده کنید بهتره
    چون https برای سایت های بانکی که میخوان تراکنش بانکی انجام بدن استفاده میشه ولی من جایی خونده بودم این پروتکل خوبه اما حرفه ای ها راحت ه ک ش میکنن.
    شاید بخاطر همینه میگن سایت های بانکی ایرانی امنیت پایینی دارند.

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

  1. سوال: استفاده از پروتکل SSH
    نوشته شده توسط barnamenevisjma در بخش C#‎‎
    پاسخ: 7
    آخرین پست: پنج شنبه 26 آذر 1394, 06:46 صبح
  2. سوال: ارسال پیامک با پروتکل http
    نوشته شده توسط Babak.Hassanpour در بخش برنامه نویسی در 6 VB
    پاسخ: 1
    آخرین پست: چهارشنبه 27 مرداد 1389, 13:22 عصر
  3. سوال :پروتکل HTTP
    نوشته شده توسط el.karimi.se در بخش C#‎‎
    پاسخ: 1
    آخرین پست: چهارشنبه 01 اردیبهشت 1389, 10:46 صبح
  4. کار با پروتکل HTTP
    نوشته شده توسط soroush_vs در بخش برنامه نویسی با MFC و ++Visual C
    پاسخ: 0
    آخرین پست: یک شنبه 08 شهریور 1388, 12:22 عصر
  5. سوال: HttpWebRequest و پروتکل https
    نوشته شده توسط raravaice در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: پنج شنبه 16 خرداد 1387, 22:39 عصر

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

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