ActiveX یک چارچوب نرمافزاری از مایکروسافت (MSFT)است که در سال ۱۹۹۹ معرفی شد.
چارچوبی که به برنامهها اجازه میدهد تا قابلیتها و دادهها را صرفنظر از اینکه به چه زبان برنامهنویسی نوشته شدهاند از طریق مرورگرهای وب با یکدیگر به اشتراک بگذارند.
آنچه در پادکست میشنوید:
فنآوری مایکروسافت که برنامههای دسکتاپ را به شبکۀ جهانی وب پیوند میدهد. با استفاده از ابزارهای ActiveX میتوان محتوای تعاملی وب ایجاد کرد. مثلاً علاوهبر مشاهدۀ اسناد Word و Excel از داخل یک مرورگر، عملکردهای اضافی مثل انیمیشن، تراکنشهای کارت اعتباری یا محاسبات صفحۀ گسترده را میتوان دید.
ActiveX چگونه عمل میکند؟
ActiveX چارچوبی برای تعریف اجزای نرمافزاری قابل استفاده مجدد (که به عنوان کنترلهای ActiveX نیز شناخته میشوند) به روش مستقل از زبان برنامهنویسی است.
از آنجاکه ActiveX قابلیتهای خاصی را بهعنوان کنترلهای ActiveX در خود جای داده است میتوان آن را بهصورت یکپارچه در بسیاری از نرمافزارها گنجاند.
مرورگر وب اینترنت اکسپلورر، امکان تعبیه کنترلهای ActiveX در صفحات وب را فراهم میکند. کنترلهای ActiveX بهطور رسمی تنها در مرورگر اینترنت اکسپلورر اجرا میشوند که در سیستمعامل ویندوز اجرا میشوند.
افزونههای ActiveX به مرورگرهای وب اولیه اجازه میدادند تا فایلهای چندرسانهای را بارگذاری کنند یا بهروزرسانیهای نرمافزاری را به کاربران ارائه دهند.
ActiveX controller
بسیاری از کنترلهای ActiveX تنها در ویندوز و با محصولات مایکروسافت مانند اینترنت اکسپلورر، Word و Excel اجرا میشوند. جاوااسکریپت، یکی دیگر از کامپایلرهای میانزبانی و دیگر پلتفرمهای مشابه، بیشتر از ActiveX مورد استفاده قرار میگیرند.
کنترلهای ActiveX نرمافزارهای پیشفرض شبیه به پلاگینهای مرورگر وب هستند. بهعنوان مثال، یک صفحه وب که یک فایل فلش را نمایش میدهد ممکن است از کاربر بخواهد که یک کنترل Flash ActiveX را دانلودکند تا بتوان بدون بازکردن یک برنامه جدید، فایل را مستقیماً در مرورگر پخش کرد.
کنترلهای ActiveX، عملکرد مرورگر را گسترش میدهند و به مرورگر اجازه میدهند وظایفی را انجام دهد که در غیر اینصورت نمیتواند بهصورت ذاتی اجرا کند.
این قابلیت بهویژه برای پخش ویدئو و دیگر محتوای چندرسانهای بسیار کاربردی است و از بازکردن یک مدیاپلیر مجزا صرفنظر میکند.
ActiveX در چه نرمافزارهایی اجرا میشود؟
ActiveX هنوز در اینترنت اکسپلورر ۱۱ استفاده میشود اما توسط آخرین مرورگر مایکروسافت یعنی Edge پشتیبانی نمیشود.
مرورگرهایی مانند موزیلا فایرفاکس، گوگل کروم (google Chrome)، سافاری اپل (Safari Apple) و اپرا (Opera) از انواع دیگر پلاگینهای مرورگر مانند جاوااسکریپت یا زبانهای کراس پلتفرم مشابه استفاده میکنند.
ActiveX همچنان برای کاربران مایکروسافت مفید است و در ویندوز ۱۰ گنجانده شده است.
این بدان خاطر است که ActiveX هنوز هم به نرمافزارهای مستقل اجازه میدهد تا بهروزرسانیها را دریافت کنند بین برنامهها ارتباط برقرار کنند و کارایی را افزایش دهند.
به عنوان مثال، ActiveX به کاربران اجازه میدهد اسناد تعاملی بیشتری در word یا فرمهای قابل پُرکردن در اکسل ایجاد کنند.
چرا کنترلهای ActiveX بهطور پیشفرض، غیرفعال است؟
مایکروسافت هشدار میدهد که کنترلهای ActiveX گاهی اوقات میتوانند خراب شوند یا محتوایی را که نباید در اختیار کاربران قرار دهند.
کنترلهای ActiveX همچنین میتوانند برای نصب جاسوسافزارها، ویروسها و بدافزارها یا آسیبرساندن به دادههای کامپیوتر شما مورد استفاده قرار گیرند. بههمیندلیل، تنها نصب کنترلهای ActiveX از منابعی که به آنها اعتماد دارید مهم است.
بهدلیل استفادۀ مخرب از کنترلهای ActiveX، بسیاری از مرورگرها یا کنترلهای ActiveX را بهصورت پیشفرض غیرفعال میکنند یا اصلا از آنها پشتیبانی نمیکنند. به عنوان مثال، کاربران گوگل کروم باید ActiveX را در تنظیمات امنیتی کروم فعال کنند یا افزونه کروم را دانلودنمایند.
حتی بهنظر میرسد مایکروسافت نیز از ActiveX روی برگردانده است.
Edge، مرورگر جدید این شرکت که جایگزین اینترنت اکسپلورر در سیستمعامل ویندوز شده است، از ActiveX پشتیبانی نمیکند.
قابلیتهای ActiveX
در اینترنت، کنترلهای ActiveX قابلیت معرفی محتوای زنده و زیبا، افکتهای چندرسانهای، ویژگیهای تعاملی به صفحات وب و نرمافزارهای کاربردی را گسترش دادهاند.
گسترش ارائهشده توسط فنآوری ActiveX نامحدود است؛ کنترلهای ActiveX دسترسی کاملی به کل کامپیوتر و تمام سرویسهای سیستم عامل ویندوز دارند و مسئولیت تأمین امنیت برای کاربر را برعهده میگیرند.
مایکروسافت با توسعۀ یک سیستم ثبتنام که به مرورگر اجازه میدهد قبل از دانلود، یک کنترل ActiveX را شناسایی و احراز هویت کند با خطر بالقوه بدافزارها مقابله کرده است.
به علاوه، توصیه میشود کاربران، پیکربندی پیشفرض مرورگر را بهگونهای تنظیم کنند که از آنها خواسته شود هرگونه درخواست برای دانلود و اجرای کنترلهای ActiveX را تایید نمایند.
کنترلهای ActiveX در اپلیکیشنهای کانتینری تعبیه شدهاند. بسیاری از فروشندگان شخص ثالث، ActiveX را بهعنوان یک معماری مهم برای توسعه اجزای نرمافزاری قابل برنامهریزی برای استفاده در انواع کانتینرهای مختلف، از ابزارهای توسعه نرمافزار گرفته تا ابزارهای بهرهوری کاربر نهایی، پذیرفتهاند.
برای اینکه یک کنترل به خوبی در انواع کانتینرها عمل کند باید بتواند حداقل سطحی از عملکرد را در نظر بگیرد که بتواند در تمام کانتینرها به آن تکیه کند. این جزئیات، بخشی از دستورالعملهای ActiveX هستند.
کنترلهای ActiveX در عین شباهت به افزونههای جاوا، با دو ویژگی اصلی تفاوت دارند. آپدیتهای جاوا همانند کنترلهای ActiveX دسترسی نامحدودی به سیستمعامل ویندوز ندارند.
بااینحال، اپها از این نظر که واقعاً چندپلتفرمی هستند متنوعترند؛ درحالیکه کنترلهای ActiveX محدود به سیستمعامل ویندوز هستند.
عملکرد کنترلهای ActiveX
کنترلهای ActiveX مایکروسافت نوعی برنامه شیءگرا جزئی هستند که به برنامهها اجازه میدهند کارهایی مانند نشاندادن یک تقویم یا پخش یک فیلم، را اجرایی کنند.
کنترل ActiveX یک قطعه کد سبک وزن است که می تواند به برنامههای دیگر وارد شود تا همان عملکرد را بدون نیاز به برنامهنویسی بیشتر فراهم کند.
در بیشتر موارد، این کنترلها بهعنوان ضمیمه در IE گنجانده شدهاند.اگر یک تولیدکننده بخواهد مدیریت خود را در سطح موجودی محصول بهروز نگه دارد میتواند یک برنامه وب برای این کار ایجاد نماید.
توسعهدهندگان اپلیکیشن، امکان یکپارچهسازی کنترل ActiveX را دارند که گزارشهایی از روند سهام و فروش را برای کاربران نهایی تولید میکند. کاربران اینترنت اکسپلورر، زمانی که برای اولینبار به سایت، دسترسی پیدا میکنند، دعوت میشوند تا کنترل ActiveX را دانلود نمایند. پس از نصب آن، برنامه میتواند گزارش ها را به مرورگر ارسال کند.
ActiveX در چه زمینههایی مفید و کاربردی است؟
اگرچه Edge اجازه کنترل ActiveX را نمیدهد، اما دارای حالت IE است تا کاربران بتوانند برنامههای مبتنی بر IE را در Edge اجرا کنند. تا زمانی که سیستم کاربر برای اجازهدادن به آن تنظیم شده باشد برنامههای در حال اجرا در حالت IE ممکن است همچنان از کنترلهای ActiveX برای توسعه استفاده نمایند.
کنترلهای ActiveX ممکن است در طیف گسترده ای از برنامههای ویندوز نه فقط ورد و اکسل استفاده شوند؛ با تعبیه یک جز ActiveX که ورودی کاربر را جمع آوری می کند، برنامههای وب مانند یک فرم در سند ورد ممکن است تعاملی شود.
بااستفادهاز کنترلهای ActiveX، برنامهنویسان میتوانند بدون نیاز به نوشتن کدهای یکسان، بارهاوبارها، قابلیتهای پرکاربرد را در برنامههای مختلف ایجاد کنند.
روشهای دیگری برای پشتیبانی از کنترلهای ActiveX وجود دارد. مرورگر گوگل کروم مثال خوبی است زیرا پسوند IE Tab را دارد. این افزونه برای گوگل کروم ، اینترنت اکسپلورر را به مرورگر پیشفرض تبدیل میکند. استفاده از کنترلهای ActiveX اکنون در کروم به لطف افزونه IE Tab امکان پذیر است.
امنیت و ActiveX
اپلیکیشنهای وب، سالها است که به اجزای ActiveX متکی هستند اما بهدلیل خطرات امنیتی زیادی که به همراه دارند، امروزه بهندرت استفاده میشوند.
بسته به امتیازات کاربر، یک کنترل ActiveX ممکن است دسترسی تقریباً نامحدودی به سیستم اصلی و حتی منابع شبکه داشته باشد.
نصب کنترلهای ActiveX یک فرآیند ساده برای کاربران نهایی است. چند کلیک بیدقت تنها چیزی است که لازم است تا آنها را در برابر انواع و اقسام تهدیدها باز بگذارید.
به عنوان مثال، یک اقدام فیشینگ ممکن است افراد یک سازمان را وادار به بازدید از یک وبسایت مخرب کند که در آن از افراد خواسته میشود یک جزء ActiveX را دانلود و نصب کنند. در صورت موفقیتآمیز بودن تلاش فیشینگ، کاربران کورکورانه آن را نصب خواهند کرد؛ زیرا از نظرشان، سایت قانونی است. حالا ActiveX میتواند در نقش مخرب وارد عمل شود و از تغییر رمز عبور گرفته تا دسترسی به دادههای خصوصی و نصب بدافزار را انجام دهد.
درحالیکه مایکروسافت اقدامات احتیاطی را برای جلوگیری از آسیبرسیدن به اجزای آسیبرسان ActiveX انجام دادهاست، این اقدامات چندان بیخطر نیستند. کنترلهای ActiveX توسط خود مایکروسافت تایید میشوند ” ممکن است گاهی اوقات مطالب ناخواستهای را برای شما ارسال کنند. این امکان وجود دارد که برخی از این برنامهها برای جمعآوری دادهها، تخریب دادهها، نصب نرمافزارهای غیرمجاز یا کنترل از راه دور کامپیوتر شما مورد استفاده قرار گیرند.”
با وجود این حقیقت که اغلب هکرها از نقصهای امنیتی شناختهشده درکنترلهای اتوماسیون ActiveX سوءاستفاده میکنند هنوز هم بهطور گستردهای استفاده میشوند.
مایکروسافت در سپتامبر ۲۰۲۱ با یک بهروزرسانی امنیتی، نقص اجرای کد از راه دور را برطرف کرد. یک دشمن ممکن است میزبان موتور رندرینگ مرورگر در یک سند آفیس مایکروسافت باشد. هر بار که کاربر به فایل دسترسی پیدا میکرد یک جزء مخرب ActiveX فعال میشد و اجازه دسترسی به سیستم اصلی را میداد.
مایکروسافت، هنوز هم از کنترلهای ActiveX پشتیبانی میکند هرچند که درحالحاضر، اکثر مرورگرها حتی در صورت تلاش برای بارگذاری آن، کنترل ActiveX را بارگذاری نمیکنند.