فنی و توسعه

امنیت ویجت: چرا باید دامنه‌های مجاز را تنظیم کنید

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

نویسنده

تیم بایتیرا

تاریخ انتشار

۲۳ خرداد ۱۴۰۵

زمان مطالعه

6 دقیقه

خلاصه

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

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

چرا شناسه ربات رمز نیست

ویجت با یک تگ script در صفحه سایت شما بارگذاری می‌شود. هر چیزی که مرورگر بازدیدکننده اجرا می‌کند، برای همه قابل دیدن است؛ این ویژگی خود وب است، نه نقص یک ابزار خاص. پس هر طراحی که امنیتش به پنهان ماندن شناسه وابسته باشد، از اول قابل اتکا نیست.

راه درست این است که فرض کنیم شناسه دیده می‌شود و در سمت سرور تعیین کنیم چه کسی اجازه استفاده دارد و تا چه حد.

دامنه‌های مجاز چطور کار می‌کنند

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

چند نکته که هنگام تنظیم باید بدانید:

  • اگر فهرست خالی باشد، هر دامنه‌ای مجاز است. این حالت فقط برای دوره آزمایش منطقی است.
  • نسخه با `www` و بدون آن یکی حساب می‌شوند. لازم نیست هر دو را جدا وارد کنید.
  • زیردامنه‌ها هم پذیرفته می‌شوند. اگر example.ir را وارد کنید، shop.example.ir هم مجاز است. این نکته در مثال پایین مهم می‌شود.

یک محدودیت را هم صادقانه بدانید: هدر Origin را مرورگر تعیین می‌کند، اما برنامه‌ای که بیرون از مرورگر اجرا شود می‌تواند آن را جعل کند. برای همین دامنه‌های مجاز لایه اول حفاظت است، نه تنها لایه.

سه لایه حفاظت در کنار هم

در ربات پاسخ‌گوی سایت، دو لایه از این سه به‌صورت پیش‌فرض فعال‌اند و لایه اول را خودتان تنظیم می‌کنید:

لایهاز چه محافظت می‌کندوضعیت
دامنه‌های مجازجاسازی ربات در سایت‌های دیگرباید خودتان تنظیم کنید
محدودیت نرخارسال پیاپی و انبوه پیام در زمان کوتاهپیش‌فرض فعال
سقف ماهانه پیاممصرف بیش از حد و هزینه پیش‌بینی‌نشدهپیش‌فرض فعال

حتی اگر کسی محدودیت دامنه را با درخواست‌های ساختگی دور بزند، محدودیت نرخ سرعتش را می‌گیرد و سقف ماهانه حداکثر مصرف را مشخص می‌کند. جزئیات این دو را در محدودیت نرخ و سهمیه ماهانه بخوانید.

یک حفاظت دیگر هم برای بازدیدکنندگان شما وجود دارد: نشانی IP آن‌ها به‌صورت خام نگه داشته نمی‌شود و فقط شکل هش‌شده آن ذخیره می‌شود. بیشتر را در حریم خصوصی و داده‌ها بخوانید.

تنظیم دامنه‌های مجاز، گام‌به‌گام

  • گام ۱: فهرست نشانی‌ها را بنویسید. همه جاهایی که ویجت باید نمایش داده شود: دامنه اصلی، زیردامنه فروشگاه یا بلاگ، و نسخه آزمایشی سایت اگر دارید.
  • گام ۲: دامنه‌ها را وارد کنید. در تنظیمات ربات، نام دامنه را بدون https:// و بدون مسیر بنویسید؛ مثلاً example.ir.
  • گام ۳: ذخیره و آزمون. ویجت را روی سایت خودتان باز کنید، یک پرسش بفرستید و مطمئن شوید پاسخ می‌آید.
  • گام ۴: پاک‌سازی بعد از انتشار. اگر نسخه آزمایشی روی دامنه‌ای جدا بود و دیگر لازمش ندارید، آن را از فهرست حذف کنید.
  • گام ۵: پیش از تغییر دامنه. اگر قرار است به دامنه جدید منتقل شوید، دامنه جدید را پیش از روز انتقال اضافه کنید.

مثال: فروشگاه آنلاین روی زیردامنه سایت‌ساز

فرض کنید یک فروشگاه پوشاک فعلاً روی زیردامنه‌ای از یک سایت‌ساز کار می‌کند، چیزی مثل myshop.builder.ir، و قصد دارد چند ماه بعد به دامنه اختصاصی myshop.ir برود.

  • اشتباه خطرناک: وارد کردن دامنه اصلی سایت‌ساز، یعنی builder.ir. چون زیردامنه‌ها هم پذیرفته می‌شوند، ربات او روی فروشگاه‌های دیگرِ همان سایت‌ساز هم کار می‌کند و سهمیه پیامش را آن‌ها مصرف می‌کنند.
  • کار درست: وارد کردن نشانی کامل myshop.builder.ir.
  • پیش از انتقال: افزودن myshop.ir به فهرست، تا روز انتقال ویجت از کار نیفتد.
  • بعد از انتقال کامل: حذف نشانی قدیمی از فهرست.

اشتباهات رایج

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

پرسش‌های رایج

ویجت روی سایتم پاسخ نمی‌دهد؛ مشکل از دامنه‌های مجاز است؟

ممکن است. نشانی سایتی را که در نوار مرورگر می‌بینید با فهرست مقایسه کنید. اگر سایت روی زیردامنه یا دامنه تازه‌ای است که در فهرست نیست، آن را اضافه کنید و دوباره امتحان کنید.

آیا نشانی IP بازدیدکنندگان ذخیره می‌شود؟

نه به‌صورت خام. نشانی IP فقط به شکل هش‌شده نگه داشته می‌شود؛ یعنی رشته‌ای یک‌طرفه که نشانی اصلی را مستقیم نشان نمی‌دهد.

اگر کسی شناسه ربات مرا پیدا کند، چه کاری می‌تواند بکند؟

با فهرست دامنه‌های تنظیم‌شده، ربات در سایت او پاسخ نمی‌دهد. اگر هم با درخواست‌های ساختگی تلاش کند، محدودیت نرخ و سقف ماهانه پیام مصرف را محدود و قابل پیش‌بینی نگه می‌دارند.

#امنیت#ویجت#تنظیمات

مطالب مرتبط