نمایک، نیاز اول کسب و کارها
پرش به محتوای اصلی

ویجت وضعیت پشتیبان‌گیری در سایت شما

وضعیت منابع و نسخه‌های اخیر را در پنل سایت خودتان نشان دهید؛ با iframe امن، بارگذار سبک و توکن کوتاه‌عمری که سرور شما می‌سازد.

در این صفحه

چطور کار می‌کند

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

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

ساخت ویجت

در پنل «سیاست‌ها › ویجت سایت» ویجت بسازید: نام، دامنه‌های مجاز (دقیقا مبدا، مثلا https://www.example.com)، منابع، نمایش حجم و خطاها، پوسته و زبان. پیش‌نمایش همان ویجت واقعی است.

ساخت توکن در سرور شما

فقط پس از ورود کاربر در سیستم خودتان توکن بسازید و آن را از یک مسیر بک‌اند به صفحه بدهید. کلید محرمانه هرگز به مرورگر نمی‌رسد.

بدنه embed-tokens
پارامترنوعلزومپیش‌فرضتوضیح
originstringلازم—دامنه صفحه‌ای که ویجت را نشان می‌دهد؛ باید در دامنه‌های مجاز ویجت باشد.
ttlSeconds60..3600اختیاری900عمر توکن؛ سقف از تنظیمات سامانه.
sourceIdsuuid[]اختیاری—زیرمجموعه‌ای از منابع ویجت برای همین بیننده.
subjectstring ≤ 64اختیاری—شناسه دلخواه بیننده در سیستم شما (برای گزارش).
curl -sS -X POST "https://api.namayek.com/v1/backup/widgets/bw_YOUR_WIDGET_ID/embed-tokens" \  -H "Authorization: Bearer $NAMAYEK_SECRET_KEY" \  -H "Content-Type: application/json" \  -d '{"origin":"https://www.example.com","ttlSeconds":900}'

بارگذار جاوااسکریپت

بارگذار کمتر از ۲ کیلوبایت است، iframe را با sandbox و بی‌ارجاع می‌سازد، توکن را فقط به مبدا لبه می‌فرستد و ارتفاع را خودکار تنظیم می‌کند.

HTML صفحه شما
<div id="backup-status"></div><script src="https://vault.namayek.com/widget/v1/embed.js" defer></script><script>  window.addEventListener("load", function () {    NamayekBackupWidget.mount(document.getElementById("backup-status"), {      widget: "bw_YOUR_WIDGET_ID",      // your own backend endpoint that mints the embed token (see "token" above)      getToken: function () {        return fetch("/api/namayek-widget-token", { credentials: "same-origin" })          .then(function (r) { return r.json(); })          .then(function (j) { return j.token; });      },      theme: "auto",      height: 420    });  });</script>
گزینه‌های NamayekBackupWidget.mount
پارامترنوعلزومپیش‌فرضتوضیح
widgetstring (bw_…)لازم—شناسه عمومی ویجت از پنل.
getToken() => Promise<string>لازم—از سرور خودتان توکن تازه بگیرید؛ هنگام انقضا دوباره صدا زده می‌شود (حداکثر هر ۳۰ ثانیه).
themelight | dark | autoاختیاریتنظیم ویجتپوسته.
heightnumber (px)اختیاری360ارتفاع اولیه؛ بعد خودکار بین ۱۲۰ تا ۲۰۰۰ پیکسل.
titlestringاختیاری—عنوان دسترس‌پذیر iframe.
پیام‌های postMessage
typeنوع / مقدارتوضیح
nmk-bw:readyiframe ← بارگذارویجت آماده دریافت توکن است.
nmk-bw:tokenبارگذار ← iframeتوکن، فقط به مبدا لبه پشتیبان‌گیری فرستاده می‌شود.
nmk-bw:token-expirediframe ← بارگذارتوکن منقضی شد؛ getToken دوباره صدا زده می‌شود.
nmk-bw:sizeiframe ← بارگذارارتفاع محتوا برای تغییر اندازه iframe.

iframe ساده

اگر نمی‌خواهید اسکریپت بارگذار را بیاورید، توکن را در بخش #t= نشانی iframe بگذارید؛ این بخش هرگز به سروری فرستاده نمی‌شود و ویجت فورا آن را از نشانی پاک می‌کند. پس از انقضا باید صفحه دوباره ساخته شود.

iframe ساده
<!-- TOKEN = minted by your server for this page view; the #fragment is never sent to any server --><iframe  src="https://vault.namayek.com/widget/v1/w/bw_YOUR_WIDGET_ID#t=TOKEN"  sandbox="allow-scripts allow-same-origin"  referrerpolicy="no-referrer"  loading="lazy"  title="Backup status"  width="100%" height="420" frameborder="0"></iframe>

CSP سایت شما

اگر سایت شما CSP دارد، لبه نمایک را فقط برای iframe و اسکریپت بارگذار مجاز کنید:

HTTP
Content-Security-Policy: frame-src https://vault.namayek.com; script-src 'self' https://vault.namayek.com

امنیت

  • ویجت روی دامنه لبه نمایک اجرا می‌شود با CSP سخت‌گیر و frame-ancestors فقط دامنه‌های مجاز شما.
  • توکن با postMessage و بررسی مبدا در هر دو طرف منتقل می‌شود؛ در حالت iframe ساده در بخش # نشانی که هرگز به سرور نمی‌رود و فورا پاک می‌شود.
  • توکن فقط‌خواندنی، حداکثر یک ساعته و محدود به یک ویجت، یک دامنه و منابع مشخص است.
  • همه داده با textContent نمایش داده می‌شود؛ هیچ HTML از داده ساخته نمی‌شود.
  • ویجت هیچ درخواستی به میزبان دیگری نمی‌زند؛ پیش‌نمایش پنل هم از همین ویجت واقعی با توکن مخصوص پیش‌نمایش است.

آخرین به‌روزرسانی: