i
در حال برنامه نویسی و آماده سازی نسخه جدید «وبگو» هستیم، در این نسخه قابلیت ها و ظاهر سایت به کلی متفاوت و کاملتر خواهد بود، این فرآیند زمانبر و از مدتی پیش شروع شده و همچنان ادامه دارد، روند پیشرفت پروژه در این قسمت به صورت درصدی مشخص است و به تناوب به روزرسانی می شود.
parsgreen.com
نکته:
با توجه به تاریخ نگارش آموزش های سایت و پیشرفت تکنولوژی های مرتبط با وب در سالیان اخیر، محتوای برخی از مطالب قدیمی ممکن است نیاز به ویرایش و به روزرسانی داشته باشند که این کار هم زمان با تهیه نسخه جدید «وبگو» به مرور در حال انجام است، لطفا در استفاده از مطالب سایت به این نکته دقت داشته و حتی المقدور از چند منبع مختلف استفاده نمائید.
article

پروتکل امن HTTPS و کدگذاری SSL چیست؟

web-ssl-https

همان طور که می دانیم، اطلاعاتی که به طور معمول در صفحات وب رد و بدل می شوند در بستر پروتکل HTTP (مخفف Hyper Text Transfer Protocol) انتقال می یابند، این پروتکل استانداردی تعریف شده است که با آن متن ساده (Plain Text) را منتقل می کنند که این داده ها به دلیل خام بودن و رمزنگاری نشدن، برای افراد سوم شخص قابل خواندن هستند، به طور مثال اگر کلمه عبور خود را در بستر این پروتکل به سروری منتقل کنید، ممکن است از طریق سرویس دهنده اینترنت یا اشخاص دیگر قابل روئیت باشد (به فرض با استفاده از برنامه هایی تحت عنوان Sniffer)، لذا استفاده از پروتکل HTTP از لحاظ امنیتی برای انجام کارهایی که با اطلاعات حساس از جمله حسابهای بانکی و رمزهای مشتریان سر و کار دارند به هیچ وجه شیوه مناسبی نیست، از این رو بانک ها، فروشگاههای اینترنتی و در کل سایتهایی که امنیت کاربران برایشان اهمیت زیادی دارد، از پروتکل دیگری به نام HTTPS (مخفف Hyper Text Transfer Protocol Secure) جهت انتقال داده های رمزنگاری شده به شیوه SSL (مخفف Secure Sockets Layer) استفاده می کنند.

پروتکل HTTPS چیست و چه فرقی با HTTP دارد؟


HTTPS پروتکلی است که در بستر آن امکان رمزنگاری (Encrypt) و انتقال اطلاعات رمزنگاری شده فراهم می شود، به لحاظ تخصصی در HTTP در حالت پیش فرض پورت 80 مورد استفاده قرار می گیرد، در حالی که در HTTPS این پورت 443 است، از طرفی همانطور که گفتیم در HTTP داده ها به صورت متن ساده یا Plain Text هستند اما در HTTPS رمزنگاری داده ها به وسیله SSL انجام می شود.

SSL به چه معناست؟


SSL مخففی است از سرواژه های Secure Sockets Layer و در اصطلاح به استاندارد رمزنگاری و انتقال داده ها در وب اطلاق می شود، SSL را ابتدا شرکت Netscape به منظور نقل و انتقال امن و رمزی اطلاعات ایجاد نمود و اکنون تقریبا تمام مرورگرهای استاندارد از جمله فایر فاکس، اینترنت اکسپلورر، اپرا، گوگل کروم و سافاری از آن  پشتیبانی می کنند، همچنین در این رابطه شرکتهایی وجود دارند که گواهی SSL ارائه می کنند.

شیوه رمزنگاری اطلاعات در SSL به چه صورت است؟


در یک بیان ساده، پس از ارائه درخواست از طرف مرورگر برای برقراری اتصال امن، SSL اطلاعات را به وسیله دو کلید رمزنگاری می کند، کلید عمومی برای ارسال کننده داده (مرورگر) و اشخاص سوم شخص قابل خواندن است اما کلید خصوصی تنها توسط دریافت کننده داده (سرور) قابل استفاده است، هنگامی که مرورگر درخواست مربوط به یک صفحه وب را به سرور ارسال می کند، سرور اطلاعات مربوط به اعتبارسنجی گواهی SSL خود را به همراه کلید عمومی به مرورگر می فرستد، مرورگر صحت اطلاعات را با بانکی که برایش تعریف شده یا با ارتباط با سرور خود می سنجد، در صورت مورد تایید بودن گواهی، پاسخ پذیرش را به سرور سایت ارسال می کند، در این هنگام سرور، نشست SSL Encrypte را شروع کرده و مرورگر با کلید عمومی که در اختیار دارد تحت استاندارد خاصی اطلاعات ارسالی را کدگذاری می کند و در گام آخر اطلاعات کد شده با کلید اختصاصی که در اختیار سرور است تبدیل به اطلاعات قابل خواندن می شود.

چگونه از استفاده کردن یک سایت از پروتکل امن اطمینان حاصل کنیم؟


چند فاکتور در تعیین معتبر بودن گواهی یک سایت نقش دارند، اول از همه کلید کوچکی است که در مرورگرهای مختلف با کمی اختلاف در مکان و شکل، نشان داده می شود، برخی از مرورگرها در نسخه های جدید خود پس از برقراری یک اتصال امن، نوار آدرس را به رنگ سبز نیز نشان می دهند، فاکتور دیگر وجود عبارت HTTPS در ابتدای آدرس آن سایت است، باید دقت کنید که برای برخی از سایت ها (بخصوص داخلی) ممکن است ابتدا نیاز به ثبت دستی گواهی آنها در بانک مرورگر باشد، متاسفانه اینگونه مشکلات گاهی به دلیل مسائل تحریم و گاهی به دلیل شخصی بودن ارائه کننده گواهی به وجود می آید.

چرا در برخی از سایت ها، مرورگر تقاضای تایید اعتبار می کند؟


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

چگونه برای سایت خود گواهی SSL تهیه کنیم؟


برای داشتن یک ارتباط امن در بستر HTTPS برای سایت خود، نیاز به گواهی معتبر SSL دارید، معمولا این گواهی از طریق نمایندگی ها و سرویس دهندگان هاست قابل خریداری است که با یک جستجوی ساده در وب با لیست بلندبالایی از این شرکت ها روبرو خواهید شد، گواهی SSL در انواع مختلف ارائه می شود که از صرف رمزنگاری داده ها تا تائید کامل اعتبار سایت و شرکت متغیر هستند که این موضوع در مدت زمان و مدارک مورد نیاز جهت فعال سازی گواهی و هزینه نهایی آن موثر خواهد بود، اگر صرفا نیاز به رمزنگاری داده ها و حفظ امنیت اطلاعات دارید، معمولا روند تهیه گواهی SSL به صورت آنی، بدون نیاز به ارائه مدارکی خاص و با هزینه کمتر انجام می گیرد، اما برای سایر انواع گواهی ها بسته به اعتباری که به شما می بخشند، ممکن است نیاز به مدت زمانی خاص، ارائه مدارک معتبر هویتی یا حتی ثبت شرکت (شخص حقوقی) باشد، علاوه بر این موارد به لحاظ فنی به سروری با قابلیت پشتیانی از SSL و یک IP اختصاصی احتیاج خواهید داشت، البته نگران نباشید، اغلب شرکت های میزبان سایت چنین قابلیتی را فراهم می کنند، همچنن مشکل تهیه IP اختصاصی با فعال بودن امکانی تحت عنوان SNI (مخفف Server Name Indication) قابل حل است، در صورت فعال بودن SNI در سرور می توان با استفاده از یک IP به سایت های مختلفی امکان استفاده از گواهی SSL را داد، بنابراین جهت جلوگیری از هزینه های اضافی بهتر است قبل از خرید گواهی SSL، در این زمینه به دقت تحقیق، بررسی و با پشتیبانی سرور سایت خود مذاکره داشته باشید.
و در پایان

چند

نکته:


- اگرچه HTTPS و رمزنگاری SSL امن و قابل اطمینان است، اما به دلیل وجود محدودیتهایی، معمولا سرعت انتقال اطلاعات از این طریق نسبت به شیوه معمول یعنی HTTP پائین تر است، لذا برای افزایش کارایی، بهتر است تنها در صفحاتی از این پروتکل استفاده کنید که اطلاعات حساسی در آنها رد و بدل می شود.
- در استفاده از سرور HTTPS دقت داشته باشید که مخصوصا در مورد تصاویری که بارگذاری می شوند، آنها را با محتوایی که از قسمت HTTPS فراخوانی می شوند در یک صفحه قرار ندهید (یا لااقل به صورت آدرس کامل http://www قرار ندهید)، چرا که موجب می شود تا مرورگر کاربران برای هر تصویر، سوالی مبنی بر معتبر نبودن اتصال و ادامه دادن یا ندادن درخواست، از آنها داشته باشد و واضح است که این موضوع موجب نارضایتی کاربران خواهد شد.
- علاوه بر SSL که استاندارد معمول و متداول در خصوص رمزنگاری داده ها در وب است، ممکن است با عبارت دیگری تحت عنوان TLS (مخفف Transport Layer Security) روبرو شوید، این استاندارد در واقع نسخه پیشرفته و بهبود یافته SSL است و صرفا به لحاظ فنی تفاوت هایی وجود دارد (آخرین نسخه از SSL نسخه 3.0 است و برخی TLS را نسخه 3.1 SSL نیز می نامند)، برای استفاده های معمول داشتن اطلاعات در همین حد کفایت خواهد کرد.
sectionدسته بندی: مهارتهای وب » دانستنی ها
related مطالب بیشتر:
» جلوگیری از بلاک یا ارسال ایمیل به اسپم با SPF
» مفهوم پلتفرم (Platform) و فریم ورک (Framework)
» لیست کدهای وضعیت HTTP و معنی خطاهای سرور
» حمله DDOS چیست و چگونه از آن جلوگیری کنیم؟
» دلایل به هم ریختن قالب وبلاگ ها و سایت ها
commentنظرات (۲۸ یادداشت برای این مطلب ارسال شده است)
نویسنده: hamid
زمان: ۱۰:۴۳:۲۹ - تاریخ: ۱۳۹۱/۰۹/۱۴
خسته نباشید. خیلی چیزا از سایتتون یاد گرفتم.
نویسنده: محمدمهدی
زمان: ۱۳:۴۴:۲۲ - تاریخ: ۱۳۹۲/۰۲/۰۲
استفاده کردم خیلی ممنون .
نویسنده: hjjat
زمان: ۱۴:۳۶:۳۶ - تاریخ: ۱۳۹۲/۰۲/۱۲
با سلام و خسته نباشید. چند روزه که نمیتونم وارد سایت هایی بشم که از پروتکل https استفاده میکنن. لطفا راهنمایی کنید ممنونم.
پاسخ: 
سلام
این مشکل ممکن است علت های مختلفی داشته باشد، ابتدا بررسی کنید که مشکل در تمام مرورگرها وجود دارد یا خیر، اگر تنها در یک مرورگر دیده می شود، ببینید چه برنامه یا پلاگینی را جدیدا نصب کرده اید، آن را موقتا غیر فعال یا حذف کنید، تنظیمات قسمت پراکسی را نیز چک کنید که در حالت انتخاب نشده باشد (یعنی نباید از طریق پراکسی به اینترنت وصل شوید).
اما اگر مشکل در تمام مرورگرها دیده می شود، یا ایراد از وجود یک نرم افزار خاص در سیستم (مانند آنتی ویروس یا فایروال) است یا اینکه بخشی از سیستم عامل دچار اختلالی شده است (به دلایل مختلف، مانند نصب یک برنامه غیر استاندارد، ویروسی شدن و...) در چنین شرایطی کد های زیر را در محیط Dos وارد کنید (از طریق برنامه command prompt):
regsvr32 softpub.dll
regsvr32 wintrust.dll
regsvr32 initpki.dll
regsvr32 dssenh.dll
regsvr32 rsaenh.dll
regsvr32 gpkcsp.dll
regsvr32 sccbase.dll
regsvr32 slbcsp.dll
regsvr32 cryptdlg.dll
این دستورات اطلاعات فایل های لازم در رجیستری را در صورت حذف شدن به حالت قبل برمی گردانند.
نویسنده: sam
زمان: ۱۷:۳۶:۵۹ - تاریخ: ۱۳۹۲/۰۸/۱۷
با سلام.
مطالب بسيار عالي و دقيق بيان شده اند.
بسيار عاليست.
متشكرم.
نویسنده: مازيار
زمان: ۱۱:۳۵:۵۳ - تاریخ: ۱۳۹۲/۱۰/۲۴
با سلام
وقت شما بخير
ممنون از اطلاعات كاربردي شما.
براي من سوال اساسي اينجاست كه در اولين مراحل چگونه كليد ها و هويت سرويس گيرنده و سرويس دهنده به هم اثبات ميشود؟
به عبارت بهتر گام اول براي برقراري كليد چيست؟
چگونه اولين كليد چه سري در متقارن و چه كليد عمومي در نامتقارن رد و بدل ميشود؟
پاسخ: 
سلام
هر چند این مسئله کمی تخصصی است، اما توضیحی در حد توان.
ابتدا دو نکته:
- پروتکل Secure Sockets Layer یا SSL یک قرارداد تعریف شده بین واسط کاربری (مرورگر) و سرور است.
- این پروتکل برای کد کردن اطلاعات از دو کلید استفاده می کند (عمومی و شخصی).
شرح اتفاقی که می افتد:
هنگامی که مرورگر درخواست مربوط به یک صفحه وب را به سرور ارسال می کند، سرور اطلاعات مربوط به اعتبارسنجی گواهی SSL خود را به همراه کلید عمومی به مرورگر می فرستد، مرورگر صحت اطلاعات را با بانکی که برایش تعریف شده یا با ارتباط با سرور خود می سنجد، در صورت مورد تایید بودن گواهی، پاسخ پذیرش را به سرور سایت ارسال می کند، در این هنگام سرور، نشست SSL Encrypte را شروع کرده و مرورگر با کلید عمومی که در اختیار دارد تحت استاندارد خاصی اطلاعات ارسالی را کدگذاری می کند و در گام آخر اطلاعات کد شده با کلید اختصاصی که در اختیار سرور است تبدیل به اطلاعات قابل خواندن می شود.
نویسنده: سایه
زمان: ۲۲:۲۳:۳۴ - تاریخ: ۱۳۹۲/۱۱/۱۲
با سلام ممنون از مطلب مفیدتون
یه سوال داشتم اگر از این پروتکل در ارسال ایمیل استفاده کنیم برای مثال جیمیل , ایا محتوای اون ایمیل توسط گوگل قابل خوندنه؟
پاسخ: 
سلام
سوالتان دقیق نیست! اگر منظورتان این است که از طریق پروتکل HTTPS ایمیلی به حساب های گوگل (جیمیل) ارسال کنید، بله، محتوا توسط این سرویس قابل خواندن است، در واقع این پروتکل روند انتقال اطلاعات را ایمن سازی می کند، قاعدتا اطلاعات برای فرستنده و گیرنده باید قابل خواندن باشند.
نویسنده: چت روم
زمان: ۲۰:۲۶:۵۵ - تاریخ: ۱۳۹۳/۰۲/۰۹
سلام
چطوري هست وقتي از اين پرتكل امن استفاده مي كنيم باز نميشه صحفه مورد نظرمون؟
پاسخ: 
سلام
سرعت این پروتکل در کل پائین تر است که محدودیت های مخابراتی نیز بر آن اضافه می شود! به هر صورت جهت بررسی بیشتر لطفا یک لینک قرار دهید.
نویسنده: محسن اسکندری
زمان: ۱۲:۵۸:۲۴ - تاریخ: ۱۳۹۳/۰۸/۲۳
با سلام خواستم ببینم آیا رنگ پروتکل https اگه زرد باشه مشکلی داره یا حتما باید سبز باشه
پاسخ: 
سلام
این حالت معمولا در رابطه با برخی سایت هایی که از پروتکل HTTPS استفاده می کنند اتفاق می افتد و دلیل آن هم در اغلب موارد ناشی از خطاها یا به عبارت بهتر سهل انگاری های برنامه نویسی است، به طور مثال ممکن است تصاویر سایت از یک منبع HTTP بارگذاری شوند، در صورتی که کل سایت از HTTPS استفاده می کند، در این حالت مرورگر به نشانه هشدار رنگ زرد را نمایش می دهد (مبنی بر اینکه برخی از محتوا رمزی نشده است)، در مجموع رنگ زرد مسئله خاصی ندارد و جای نگرانی نیست!
نویسنده: مبینا
زمان: ۱۸:۳۴:۴۰ - تاریخ: ۱۳۹۳/۰۹/۲۲
سلام ببخشید من یک سوال دارم چرا در سایت های مختلف رنگ https های آن با هم فرق دارند؟؟؟؟؟؟؟؟؟ اگه میشه جواب بدید ممنون میشم
پاسخ: 
سلام
این موضوع بین مرورگرهای مختلف متفاوت است، اما در کل رنگ سبز نشانه تائید کامل گواهی SSL سایت مذکور، رنگ آبی یا زرد نشانه وجود یک نقض در گواهی SSL است که معمولا مشکل جدی نیست (رمزی سازی داده ها ممکن است کامل انجام نشود) و رنگ قرمز نشانه منقضی شدن اعتبار گواهی SSL یا عدم تائید آن است.
نویسنده: هادی
زمان: ۱۶:۲۷:۴۸ - تاریخ: ۱۳۹۳/۰۹/۲۵
بسیار ممنون. خدا قوت
نویسنده: آرتین
زمان: ۲۳:۵۷:۱۲ - تاریخ: ۱۳۹۳/۱۰/۱۷
با سلام و تشکر از مطالب مفیدتون
در مورد پروتکلهای امنیت در بانکداری اینترنتی و مقایسه آن مطالبی میخواستم بسیار ممنون میشوم اگر راهنمایی بفرمایید.
پاسخ: 
سلام
سوالتان خیلی کلی است و پاسخ دقیق به آن نیاز به گذراندن واحدهای درسی دانشگاهی دارد! در حد آشنایی با مفاهیم کلی مقاله موجود در لینک زیر (به زبان اصلی) مفید خواهد بود:
http://csrc.nist.gov/nissc/1997/proceedings/041.pdf
نویسنده: cyc
زمان: ۰۲:۲۸:۳۴ - تاریخ: ۱۳۹۳/۱۲/۱۸
با سلام آیا پروتکل ssl قابل نفوذ هست؟
پاسخ: 
سلام
اگرچه بر اساس یک قاعده کلی هر قفلی کلیدی دارد، اما در مورد SSL خطر هک شدن در دنیای واقعی بسیار ناچیز و کار هکر بسیار مشکل است، البته این به متد و الگوریتم استفاده شده برای رمزنگاری داده ها، طول کلید استفاده شده و همچنین پیچیده گی کلمات عبور و... نیز بستگی دارد، در SSL نسخه 2 مشکلاتی وجود داشت اما این موارد در نسخه 3 کاملا مرتفع شده است.
نویسنده: امیر
زمان: ۲۲:۴۸:۰۵ - تاریخ: ۱۳۹۴/۰۳/۲۷
با سلام . چرا توصیه شده حتی در وبسایت های ساده و کم اهمیت هم از HTTPS استفاده شود؟
پاسخ: 
سلام
اصولا استفاده از HTTPS با فاکتور امنیت ارتباط دارد و یکی از امتیازات مثبت سایت ها در رقابت با هم محسوب می شود، منتها اینکه واقعا یک سایت ساده یا سایتی که محتوای حساس در آن رد و بدل نمی شود نیز باید از HTTPS استفاده کند یا خیر، جای بحث دارد، در عمل به دلیل سرعت پائین تر این پروتکل و برخی مشکلات دیگر در مقایسه با پروتکل عادی وب یعنی HTTP، روال این است که تنها صفحات حساس (مانند صفحات ورود و خروج، درگاه پرداخت و...) از این ویژگی استفاده می کنند، ضمن اینکه قیمت و فرآیند صدور گواهی SSL بخصوص در ایران و به طور خاص برای دامنه های با پسوند ir طوری است که سایت های غیر سازمانی و غیر دولتی، کمتر تمایل به استفاده از آن دارند.
نکته: اگرچه پروتکل HTTPS توسط موتورهای جستجو توصیه شده و مزیت های زیادی دارد، اما به دلیل هزینه بر بودن، کاهش سرعت و پیچیده تر بودن از نظر مباحث فنی، همچنان اغلب وبسایت های شبکه جهانی تمایلی به استفاده از این پروتکل (به جزء در موارد خاص) ندارند، لذا این توصیه می تواند تا حدودی نیز ناشی از بازارگرمی شرکت های ارائه دهنده گواهی SSL باشد!
نویسنده: محمد
زمان: ۱۹:۵۷:۴۹ - تاریخ: ۱۳۹۴/۰۵/۳۰
با سلام
یکی از چتروم ها از آدرس https در اول آدرسش استفاده میکند و ادعا میکند که با این کار دیگر کارگروه تعیین مصادیق مجرمانه ، نمیتواند فیلترش کند چون قبلا از http استفاده میکرد ، بیش از 10 بار فیلتر شد . ولی بعد از اینکه از https استفاده میکند ، دیگر کسی ندید که فیلتر شود حالا میخواستم ببینم آیا واقعا فیلتر کردن https امکانپذیر نیست ؟ در ضمن ما میبینیم سایتهایی نظیر فیسبوک و یوتیوب ، که از https استفاده میکنند ، فیلتر هستند خلاصه این تناقض رو نمیدونم چجوری هست . خواهشا اگر اطلاعاتی در این خصوص دارید بفرمایید .
پاسخ: 
سلام
به طور کلی سایت هایی که ترافیک آنها از مسیر کشور عبور کند قابل مسدودسازی هستند، منتها به لحاظ فنی و مالی ممکن است کنترل یک پروتکل خیلی راحت تر و کم هزینه تر باشد، به همین علت است که سایت های پروتکل HTTP سریعا مسدود می شوند، چون محتوای آنها هیچ نوع رمزنگاری یا پیچیدگی فنی از این نظر ندارد و عمدتا با تعریف الگوریتم های خودکار و سنجش محتوا می توان موارد مشکوک را شناسایی یا مسدود کرد! اما این اتفاق برای پروتکل HTTPS زمانبرتر است، علت آن هم رمزی شدن داده های سایت و در نتیجه عدم شناسایی توسط الگوریتم های خودکار است، اما این دلیل بر همیشه در دسترس بودن سایت مورد نظر نیست و در صورت مشاهده افراد کنترل کننده یا ارسال گزارشات، با توجه به سابقه قبلی احتمال مسدود شدن آن سایت خیلی زیاد و از نظر فنی ممکن است!
نویسنده: ناصر
زمان: ۱۴:۴۱:۳۷ - تاریخ: ۱۳۹۴/۰۹/۰۲
سلام
چرا گفته می شود حتی در وبسایت های ساده هم از HTTPS استفاده شود؟
پاسخ: 
سلام
استفاده از این پروتکل همیشه (و اغلب) ضروری نیست، بهتر است در جایی استفاده شود که حفظ امنیت تبادل اطلاعات واقعا نیاز باشد یا مسئله به حریم خصوصی افراد مرتبط باشد، مانند سایت هایی که اطلاعات خاص را ارسال و دریافت می کنند، یا برای پنل کاربری، شبکه های اجتماعی و...، در مجموع به نظر این گفته بیشتر به بازارگرمی شرکت های ارائه کننده خدمات مربوطه مرتبط می شود!
paged صفحه 1 از 2




more لطفا دقت کنید که یادداشت های زیر منتشر نشده و حذف خواهند شد:
- یادداشت های خارج از موضوع این مطلب.
- سوالات کلی، غیر ضروری و مشکلاتی که هیچ تلاشی برای رفع آن نکرده باشید.
- نظرات حاوی کدها و اسکریپت های خیلی طولانی (به طور مثال کد کامل قالب وبلاگ).

5 × 7
 refresh
آگهی
رنگین کمان عکس
Ranginkamaan.com

آرشیو عکس های باکیفیت با موضوعات متنوع...
پرشین آی تی
Persianit.net

آموزش و دانلود پروژه های برنامه نویسی سی شارپ (#C)