نحوه ایجاد فایل SVG Tiny P/S برای BIMI (راهنمای ۲۰۲۶)
نحوه ایجاد فایل SVG Tiny P/S برای BIMI (راهنمای ۲۰۲۶)
Brand Indicators for Message Identification (BIMI) لوگوی سازمان شما را در کنار پیامهای احراز هویتشده در کلاینتهای ایمیل پشتیبانیشده نمایش میدهد. برای انتشار رکورد BIMI، باید فایل لوگویی ارائه دهید که با پروفایل محدود XML به نام SVG Tiny Portable/Secure (P/S) مطابقت داشته باشد.
این مقاله الزامات پروفایل SVG Tiny P/S، عناصری که باید از فایل منبع حذف کنید، و روشهایی که میتوانید برای تولید لوگوی سازگار جهت درخواست گواهی نشان تأییدشده (VMC) استفاده کنید را توضیح میدهد.
منطق امنیتی پشت SVG Tiny P/S
W3C پروفایل SVG Tiny P/S را برای حذف ریسکهای امنیتی رندر گرافیک برداری در کلاینتهای ایمیل تعریف کرده است [1]. SVG استاندارد از اسکریپتنویسی، بارگذاری منابع خارجی و درخواستهای شبکهای پشتیبانی میکند. کلاینت ایمیلی که SVG استاندارد را رندر میکند، گیرندگان را در معرض حملات تزریق اسکریپت بینسایتی (XSS) و پیکسلهای ردیابی تعبیهشده در بدنه پیام قرار میدهد.
SVG Tiny P/S تمام قابلیتهای پویا و خارجی را حذف میکند. نتیجه یک فایل ایستا و مستقل است که فقط هندسه را توصیف میکند.
عناصر ممنوعه
عناصر زیر باعث شکست اعتبارسنجی W3C میشوند. مرجع صدور گواهی هر درخواست VMC که شامل این عناصر باشد را رد میکند.
| نوع عنصر | دلیل ممنوعیت |
|---|---|
تگهای <script> |
جلوگیری از اجرای JavaScript و حملات XSS |
تگهای <image> |
جلوگیری از تعبیه گرافیک رستری (PNG/JPG) که میتواند کد مخرب را پنهان کند |
URIهای data:image |
جلوگیری از تعبیه بیتمپ کدگذاریشده با Base64 |
xlink:href |
جلوگیری از درخواستهای شبکهای خارجی (پیکسلهای ردیابی) |
| ابعاد نسبی | جلوگیری از تغییر چیدمان؛ صفات width و height باید حذف شوند |
| CSS خارجی | جلوگیری از تزریق استایلشیت خارجی |
الزامات ریاضی
گروه کاری AuthIndicators محدودیتهای هندسی را تعریف کرده است که تضمین میکند لوگو در کلاینتهای ایمیل مختلف، از جمله کلاینتهایی که ماسکهای دایرهای، مربعی یا مربع گردشده اعمال میکنند، بهدرستی رندر شود [2].
۱. نسبت ابعاد ۱:۱
لوگو باید مربع باشد. صفت viewBox را روی فضای مختصات ۱:۱ تنظیم کنید، برای مثال viewBox="0 0 100 100". صفات width و height را حذف کنید. فقط viewBox مقیاسبندی را کنترل میکند.
۲. پسزمینه توپر
پسزمینههای شفاف مجاز نیستند. کلاینتهای ایمیل بین تمهای روشن و تاریک جابجا میشوند و لوگوی شفاف میتواند روی هر یک از پسزمینهها نامرئی شود. یک عنصر <rect> توپر که کل viewBox را پوشش دهد اضافه کنید.
۳. فرادادههای اجباری
مطابقت را در عنصر ریشه <svg> با تنظیم version="1.2" و baseProfile="tiny-ps" اعلام کنید. یک عنصر <title> برای برآورده کردن الزامات دسترسپذیری اضافه کنید.
نحوه تولید فایل سازگار
ابزارهای طراحی استاندارد، از جمله Adobe Illustrator و Figma، مستقیماً به SVG Tiny P/S صادر نمیکنند. دو گزینه دارید: پاکسازی دستی فایل، یا استفاده از ابزار تبدیل.
روش دستی
برای پاکسازی دستی یک خروجی SVG، فایل را در ویرایشگر متن باز کنید و مراحل زیر را انجام دهید:
- تمام تگهای ممنوعه فهرستشده در جدول قبلی را حذف کنید.
- استایلبندی CSS را به صفات ارائهای درونخطی تبدیل کنید.
viewBoxرا به نسبت ۱:۱ بازمحاسبه کنید.- فرادادههای اجباری
version،baseProfileو<title>را اضافه کنید. - خروجی را در برابر طرحواره SVG Tiny 1.2 W3C اعتبارسنجی کنید.
انتظار چندین دور اعتبارسنجی را داشته باشید. خطاهای کوچک در نام صفات یا اعلانهای فضاینام باعث شکست اعتبارسنجی میشوند.
روش خودکار
یک ابزار تبدیل مانند makeBIMI هر مرحله را بهصورت برنامهنویسیشده انجام میدهد:
- برداریسازی: اگر تصویر رستری (PNG یا JPG) آپلود کنید، ابزار پیکسلها را به مسیرهای برداری ترسیم میکند.
- پاکسازی: ابزار تگهای
<script>،<image>و ارجاع خارجی را حذف میکند. - اعمال هندسه: ابزار کادر محصورکننده ۱:۱ و پسزمینه توپر اعمال میکند.
- اعتبارسنجی: ابزار خروجی را در برابر طرحواره SVG Tiny P/S W3C اعتبارسنجی میکند.
فایل SVG پیشنیاز درخواست VMC است. پس از تولید فایل سازگار، با ممیزی اجرای DMARC ادامه دهید و فایل را به مرجع صدور گواهی پشتیبانیشده ارسال کنید.
منابع
[1] W3C. “SVG Tiny 1.2 Portable/Secure.” World Wide Web Consortium, https://www.w3.org/TR/SVGTiny12/ [2] AuthIndicators Working Group. “BIMI SVG Logo Requirements.” BIMI Group, https://bimigroup.org/svg-logo-requirements/