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

کلیدها و امنیت نقشه

کلید عمومی برای مرورگر و کلید محرمانه برای سرور؛ دامنه‌های مجاز، دسترسی هر سرویس، سقف نرخ و رفع خطای «دامنه مجاز نیست».

در این صفحه

کلید عمومی یا محرمانه

کلید عمومی (nmk_pk_…) برای نقشه در مرورگر و اپ است و در کد صفحه دیده می‌شود؛ امنیتش از دامنه‌های مجاز، دسترسی محدود و سقف نرخ می‌آید. کلید محرمانه (nmk_sk_…) برای سرور شماست (مثلا نشانی‌یابی دسته‌ای) و فقط در سرآیند فرستاده می‌شود.

const url = new URL("https://maps.namayek.com/v1/autocomplete");url.search = new URLSearchParams({ q: "ونک", lat: "35.757", lng: "51.41", limit: "5", key: "nmk_pk_YOUR_PUBLISHABLE_KEY" });const res = await fetch(url, { credentials: "omit" });const body = await res.json();if (!res.ok) throw new Error(body.code);   // مثلا ORIGIN_NOT_ALLOWEDconsole.log(body.items);

دامنه‌های مجاز

کلید عمومی دست‌کم یک دامنه مجاز می‌خواهد. سرور origin را از سرآیند Origin و در نبود آن از Referer می‌خواند. کاشی‌هایی که MapLibre می‌گیرد هم همین سرآیندها را دارند.

نمونه دامنه‌های مجاز
مقدارمی‌پذیردرد می‌کند
https://www.example.comhttps://www.example.comhttps://example.com، http://www.example.com
https://*.example.comhttps://a.example.com، https://a.b.example.comhttps://example.com، https://evil-example.com، http://a.example.com، https://a.example.com:8443
http://localhost:3000http://localhost:3000http://localhost:5173
https://EXAMPLE.com/ذخیره به شکل https://example.com—

قاعده‌های کامل در کلیدهای API.

IPهای مجاز

کلید محرمانه‌ای را که روی سرور برای نقشه به کار می‌برید به IP خروجی سرور ببندید. کلید عمومی فهرست IP نمی‌گیرد چون کاربران شما هر جایی هستند؛ به جایش برای هر IP کاربر سقف جدا (۲۵ درخواست در ثانیه) اعمال می‌شود.

دسترسی هر سرویس

دسترسی لازم هر سرویس نقشه
دسترسیسرویس‌هامسیرهاکلید
maps:tilesmaps.tiles، maps.style/v1/tiles، /v1/stylesعمومی و محرمانه
maps:searchmaps.autocomplete، maps.search، maps.geocode، maps.reverse/v1/autocomplete، /v1/search، /v1/geocode، /v1/reverseعمومی و محرمانه
maps:routingmaps.route، maps.matrix/v1/route، /v1/matrixعمومی و محرمانه
maps:staticmaps.static/v1/staticعمومی و محرمانه
webhooks:manage—/v1/webhooks (API عمومی)فقط محرمانه

چرخش کلید

کلید عمومی‌ای که در اپ موبایل منتشر شده را با دوره هم‌پوشانی طولانی بچرخانید (تا ۱۶۸ ساعت) تا نسخه تازه اپ به دست کاربران برسد. کلید لو رفته را با چرخش صفر ساعته فورا باطل کنید.

سقف نرخ و روزانه

  • درخواست در ثانیه هر کلید: پیش‌فرض ۵۰ برای عمومی و ۱۰۰ برای محرمانه؛ برای هر کلید قابل تغییر.
  • سقف روزانه هر کلید (اختیاری)؛ با پر شدن تا نیمه‌شب تهران DAILY_CAP_REACHED می‌گیرید.
  • درخواست‌های ویرایشگر سبک پنل در سقف روزانه کلیدها شمرده نمی‌شوند.
  • سقف هزینه پروژه جلوی صورت‌حساب غیرمنتظره را می‌گیرد (مصرف و صورت‌حساب).

خطای «دامنه مجاز نیست»

پاسخ ۴۰۳ با ORIGIN_NOT_ALLOWED یعنی دامنه صفحه در فهرست کلید نیست:

  1. نشانی دقیق صفحه را ببینید (پروتکل، www و درگاه مهم‌اند).
  2. همان origin را به کلید اضافه کنید، مثلا https://www.example.com یا برای همه زیردامنه‌ها https://*.example.com.
  3. اگر صفحه با سیاست Referrer-Policy: no-referrer باز می‌شود و Origin هم نمی‌فرستد، سیاست را دست‌کم origin کنید.
  4. تغییر کلید ظرف چند ثانیه به همه سرورها می‌رسد.

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