لینک کوتاه مطلب : https://hsgar.com/?p=6679

دلم برای وب قابل برنامه ریزی تنگ شده است

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

برندان ایچ، نویسنده جاوا اسکریپت، فکر می‌کند که ما از نشانک‌های جاوا اسکریپت برای اجرای اسکریپت‌های دلخواه علیه DOM استفاده می‌کنیم:

آنها یک ویژگی عمدی از این نظر بودند: من آن را اختراع کردم javascript: URL همراه با جاوا اسکریپت در سال 1995، و در نظر گرفته شده است javascript: نشانی‌های اینترنتی را می‌توان به‌عنوان هر نوع URL دیگری، از جمله قابلیت نشانک‌گذاری، استفاده کرد. به طور خاص، من ایجاد یک سند جدید را با بارگذاری ممکن کردم، به عنوان مثال javascript:'hello, world'، بلکه (کلید برای بوکمارکلت ها) برای اجرای اسکریپت دلخواه در برابر DOM سند فعلی، به عنوان مثال javascript:alert(document.links[0].href). تفاوت این است که نوع دوم URL از عبارتی استفاده می کند که به نوع تعریف نشده در JS ارزیابی می شود. من عملگر void را قبل از ارسال Netscape 2 به JS اضافه کردم تا دور انداختن هر مقدار تعریف نشده را آسان کنم. javascript: URL. – برندان آیش، ایمیل به سیمون ویلیسون

اسکریپت های کاربر این را حتی فراتر بردند – میمون روغنی (و جانشین آن میمون تامپر) – میزبان یک مخزن از اسکریپت هایی است که می توانید در وب سایت های خاصی نصب و اجرا کنید. این اسکریپت‌ها قبل از اینکه شرکت‌ها بتوانند (یا می‌توانند) آن‌ها را پیاده‌سازی کنند، قابلیت‌هایی را به وب‌سایت‌ها اضافه کردند – به عنوان مثال، ویژگی‌های قابلیت استفاده برای سایت‌های رایج مانند YouTube (افزودن پیوند دانلود)، صف نمایش‌های Netflix، یا پیوندهای مستقیم تصویر برای جستجوی تصویر Google.

سیاست های امنیتی اساسا اسکریپت کاربر و اکوسیستم بوکمارکت را از بین برده است. بیشتر اسکریپت هایی که می توانید در سایت های باقی مانده پیدا کنید مانند چنگال چرب فقط پیشرفت های جزئی ارائه می دهد. اسکریپت های پرکاربرد – مانند مسدود کردن تبلیغات یا حاشیه نویسی، به افزونه های مرورگر مستقل خودشان تبدیل شده اند (مانند AdBlock و Evernote/Notion Web Clipper).

مزیت امنیتی مسدود کردن اسکریپت‌های کاربر برای مصرف‌کنندگان احتمالاً برای کاربران عادی اینترنت مثبت است. اما چرا ما نمی توانیم هر دو را داشته باشیم؟ مطمئناً ما می توانیم راهی پیدا کنیم. شاید اجرای چیزی مانند جعبه ایمنی QuickJS در داخل WebAssembly بتواند راه امن تری برای دسترسی به بخش های انتخابی DOM ارائه دهد.

لینک منبع

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.