URL های لیست مجاز

شما از لیست های مجاز برای تعیین URL های خاصی استفاده می کنید که از قبل برای دسترسی توسط اسکریپت یا افزونه شما تأیید شده اند. لیست های مجاز به محافظت از داده های کاربر کمک می کند. وقتی یک لیست مجاز را تعریف می کنید، پروژه های اسکریپت نمی توانند به URL هایی که به لیست مجاز اضافه نشده اند دسترسی پیدا کنند.

این فیلد هنگام نصب یک استقرار آزمایشی اختیاری است، اما زمانی که یک استقرار نسخه‌سازی شده ایجاد می‌کنید لازم است.

هنگامی که اسکریپت یا افزونه شما اقدامات زیر را انجام می دهد از لیست های مجاز استفاده می کنید:

  • با استفاده از سرویس Apps Script UrlFetch اطلاعات را از یک مکان خارجی (مانند نقاط پایانی HTTPS) بازیابی یا واکشی می کند. برای واکشی URLهای لیست مجاز، فیلد urlFetchWhitelist را در فایل مانیفست خود قرار دهید.
  • نشانی اینترنتی را در پاسخ به اقدام کاربر باز می‌کند یا نمایش می‌دهد (برای افزونه‌های Google Workspace که نشانی‌های اینترنتی خارج از Google را باز یا نمایش می‌دهند لازم است). برای باز کردن URL های لیست مجاز، فیلد addOns.common.openLinkUrlPrefixes در فایل مانیفست خود قرار دهید.

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

هنگامی که لیست های مجاز را در فایل مانیفست خود مشخص می کنید (با گنجاندن فیلد addOns.common.openLinkUrlPrefixes یا urlFetchWhitelist )، باید فهرستی از پیشوندهای URL را وارد کنید. پیشوندهایی که به مانیفست اضافه می کنید باید شرایط زیر را برآورده کنند:

  • هر پیشوند باید یک URL معتبر باشد.
  • هر پیشوند باید از https:// استفاده کند نه http:// .
  • هر پیشوند باید یک دامنه کامل داشته باشد.
  • هر پیشوند باید یک مسیر غیر خالی داشته باشد. به عنوان مثال، https://www.google.com/ معتبر است اما https://www.google.com معتبر نیست.
  • برای مطابقت با پیشوندهای زیر دامنه URL می توانید از حروف عام استفاده کنید.
  • می‌توان از یک علامت * در فیلد addOns.common.openLinkUrlPrefixes برای مطابقت با همه پیوندها استفاده کرد، اما این کار توصیه نمی‌شود زیرا می‌تواند داده‌های کاربر را در معرض خطر قرار دهد و روند بررسی افزودنی را طولانی‌تر کند. فقط در صورتی از علامت عام استفاده کنید که عملکرد افزونه شما به آن نیاز داشته باشد.

هنگام تعیین اینکه آیا URL با پیشوند لیست مجاز مطابقت دارد، قوانین زیر اعمال می شود:

  • تطبیق مسیر به حروف کوچک و بزرگ حساس است.
  • اگر پیشوند با URL یکسان باشد، مطابقت دارد.
  • اگر URL یکسان یا فرزند پیشوند باشد، مطابقت دارد.

به عنوان مثال، پیشوند https://example.com/foo با URL های زیر مطابقت دارد:

  • https://example.com/foo
  • https://example.com/foo/
  • https://example.com/foo/bar
  • https://example.com/foo?bar
  • https://example.com/foo#bar

استفاده از حروف عام

می‌توانید از یک کاراکتر عام ( * ) برای تطبیق یک زیر دامنه برای فیلدهای urlFetchWhitelist و addOns.common.openLinkUrlPrefixes استفاده کنید. شما نمی توانید از بیش از یک علامت عام برای تطبیق چندین زیردامنه استفاده کنید و علامت عام باید نشان دهنده پیشوند اصلی URL باشد.

برای مثال، پیشوند https://*.example.com/foo با URL های زیر مطابقت دارد:

  • https://subdomain.example.com/foo
  • https://any.number.of.subdomains.example.com/foo

پیشوند https://*.example.com/foo با URL های زیر مطابقت ندارد :

  • https://subdomain.example.com/bar (عدم تطابق پسوند)
  • https://example.com/foo (حداقل یک زیر دامنه باید وجود داشته باشد)

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

  • https://*.*.example.com/foo (چند نویسه ممنوع است)
  • https://subdomain.*.example.com/foo (کارت های عام باید به عنوان پیشوند اصلی استفاده شوند)