یک افزونه مرورگر برنامه کامپیوتری است که عملکرد یک مرورگر وب را در برخی راه‌ها گسترش می‌دهد. بسته به مرورگر و نسخه، ممکن است از میان اصطلاح‌های مشابه، همچون plugin-in یا add-on تغییر کند. برخی افزونه‌ها توسط تکنیک‌های وب همچون اچ‌تی‌ام‌ال، جاوا اسکریپت و سی‌اس‌اس نوشته می‌شوند. افزونه‌های مرورگر می‌توانند رابط کاربری مرورگر وب را بدون تغییر محتوای صفحه وب تغییر دهند. برای نمونه، اضافه کردن یک نوار ابزار. همچنین می‌توانند محتویات صفحه وب را نیز تغییر دهند.

پیشینه
------

مایکروسافت اینترنت اکسپلورر پشتیبان از افزونه‌ها را از نسخه ۵، منتشر شده در ۱۹۹۵ آغاز نمود. موزیلا فایرفاکس، پشتیبانی از افزونه‌ها را از آغاز در ۲۰۰۴ آغاز نمود. مرورگر دسکتاپ اپرا پشتیبانی از افزونه را از نسخه ۱۰ خود در ۲۰۰۹ آغاز نمود. مرورگر گوگل کروم پشتیبانی از افزونه‌ها را از نسخه ۴ خود در ۲۰۱۰ آغاز نمود. مرورگر سافاری اپل پشتیبانی از افزونه را از نسخه ۵ در
۲۰۱۰ آغاز نمود. متن برنامه افزونه‌ها ممکن است اندکی از مرورگر به مرورگر دیگر تفاوت کند، یا دست‌کم به اندازه‌ای که افزونه که روی یکی کار می‌کند، روی دیگری کار نکند. به خاطر ابزراهای موتورهای جستجو، تلاشی برای پرش از این مشکل استراتژی چند تگی پیشنهاد داده‌شده توسط Mycroft، یک پایگاه داده افزونه موتورهای جستجو است که روی مرورگرهای مختلف کار می‌کند.

بدست آوردن افزونه‌های مرورگر
----------------------------

بسیاری مرورگرها یک مرکز آنلاین دارند که به کاربران اجازه می‌دهد فهرست افزونه‌ها را ببینند. برای نمونه، موزیلا فایرفاکس، گوگل کروم و سافاری اپل، همه چنین مرکزی را در کنار مراکز غیررسمی ارائه می‌دهند.

عملکردها
--------

افزونه‌های مرورگر برای چندین هدف استفاده می‌شوند.

### نوارابزار

یک نوارابزار مرورگر، نوارابزاری است که در پنجره مرورگر قرار می‌گیرد. همه مرورگرهای عمده وب از توسعه نوارابزار مرورگر به عنوان راهی برای توسعه رابط گرافیکی و کاربری مرورگر پشتیبانی می‌کنند. نوارابزار مرورگر به عنوان نوعی از افزونه مرورگر در نظر گرفته می‌شوند که یک نوارابزار ارائه می‌دهند. نوارابزار مرورگرها برای هر مرورگر مخصوص هستند، بدین معنا که نوارابزاری که روی یک مرورگر کار می‌کند ممکن است روی مرورگر دیگر کار نکند.

### پلاگین

پلاگین‌ها توانایی مشخصی را به مرورگر با استفاده از رابط‌های برنامه‌نویسی کاربردی اضافه می‌کنند، که به شخص ثالث اجازه می‌دهد پلاگینی بسازد که با مرورگر تعامل نماید. API اصلی NPAPI بود، اما به دنبال آن گوگل رابط PPAPI را در کروم ارائه داد.

### حریم خصوصی

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

توسعه
-----

توسعه افزونه مرورگر در حقیقت توسعه افزونه برای مرورگری خاص است. هر نوع مرورگر معماری و رابط API مخصوص خود را برای ساخت افزونه داراست که نیاز به کُد و توانایی متفاوت برای توسعه افزونه است. در روزهای اخیر فریم‌ورک‌هایی وجود دارند که به توسعه‌دهندگن اجازه می‌دهد افزونه‌های چندمرورگری را تنها با کُدی بر پایه یک API بسازند، و نیاز به نوشتن نسخه‌های متفاوت افزونه برای هرکدام از مرورگرها نیست. نمونه‌هایی از این فریم‌ورک‌ها، add-ons framework است که به برنامه‌نویس کمک می‌کند می‌سازد افزونه چندمرورگری برای اینترنت اکسپلورر، فایرفاکس، کروم، سافاری و اپرا بسازد. همچنین فریم‌ورک توسعه Crossrider به توسعه‌دهنده کمک می‌کند که افزونه چند مرورگری برای اینترنت‌اکسپلورر، فایرفاکس، کروم و سافاری بسازد.

Extension Maker نیز ابزار دیگری است برای توسعه افزونه چندمرورگری. برخلاف دوتای پیشین، شما نیازی به کُدنویسی ندارید و می‌توانید افزونه را با بلوک‌های پیش‌ساخته بسازید.

رفتار ناخواسته افزونه‌های مرورگر
--------------------------------

افزونه‌های مرورگر به همه‌کارهایی که توسط مرورگر انجام می‌شوند دسترسی دارند و می‌توانند کارهایی همچون تزریق تبلیغات به صفحه‌های وب، یا ارسال درخواست‌های «پشت‌صحنه» به سرورهای شخص ثالث انجام دهند. این توانایی می‌تواند توسط افزونه‌های مرورگر مورد سوءاستفاده قرار گیرد. سیاست‌های امنیتی که در مورد صفحه‌های وب در نظر گرفته می‌شوند به‌طور یکسان دربارهٔ افزونه‌ها در نظر گرفته نمی‌شوند.

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

در ۲۰۱۲، یک محقق امنیت، یک بدافزار کنترل از راه دور طراحی نمود که به عنوان یک افزونه مرورگر عمل می‌کرد و توانایی ویرایش صفحات وب، دریافت و اجرای فایل، دزدی حساب‌های کاربری، گذر از ویژگی‌های امنیتی دوعامل احراز هویت اجرا شده توسط وبگاه‌ها و بسیاری دیگر را داشت.

در می ۲۰۱۳ مایکروسافت یک افزونه مرورگر برای کروم و فایرفاکس را در برزیل گزارش داد که «سعی در ربودن پروفایل فیس‌بوک داشت».

برخی توسعه‌دهندگان افزونه مرورگر کروم، افزونه‌هایی که ساختند را به شرکت‌های شخص ثالث فروختند که پنهانی بروزرسانی‌های ناخواسته‌ای را به آن‌ها می‌فرستادند که اضافاتی را که قبلاً نبودند به آن‌ها اضافه می‌کرد. در ژانویه ۲۰۱۴، گوگل کروم دو افزونه را از سرویس کروم به خاطر نقض شرایط خدمت‌رسانی حذف نمود. تصمیم حذف این دو افزونه «Add to feedly» و «Tweet this page»، هنگامی گرفته شد که کاربران متوجه شدند این افزونه‌ها popupهای تبلیغاتی نشان می‌دهند. این اتفاق پس از این افتاد که افزونه‌ها به توسعه‌دهندگان شخص‌ثالث فروخته شد.

پنج درصد مرورگرهای کامپیوتری که سایت‌های متعلق به گوگل را می‌بینند، توسط برنامه‌های کامپیوتری به‌گونه‌ای تغییر کرده‌اند که تبلیغات موردنظر آن‌ها را به صفحه‌ها تزریق می‌کند. محققان ۵۰٬۸۷۰ افزونه گوگل کروم و ۳۴٬۴۰۷ برنامه که تبلیغات تزریق می‌کنند را یافته‌اند. ۳۸٪ افزونه‌ها و ۱۷٪ برنامه‌ها در فهرست نرم‌افزارهای مخرب قرار دارند. باقی آن‌ها بالقوه از نوع برنامه‌های تبلیغات ناخواسته هستند.

منابع
-----