📝 ویژگیهای محتوا و مارکتینگ
پلتفرم دارای ابزارهای یکپارچه برای تیمهای محتوا و بازاریابی است تا انعطافپذیری بالا را بدون افت امنیت و پرفورمنس تجربه کنند.
👁️ پیشنمایش زنده CMS (Next.js Draft Mode)
فروشگاه به صورت کامل با سیستم Preview در استرپی و مکانیزم Next.js Draft Mode یکپارچه شده است. این قابلیت به تیم تحریریه اجازه میدهد تا محتوای منتشرنشده (Draft) را مستقیماً در قالب واقعی فرانتاند مشاهده کنند.
گردش کار (Workflow):
- شروع: مدیر محتوا روی دکمه Preview در پنل Strapi کلیک میکند.
- اعتبارسنجی: استرپی کاربر را به مسیر
api/preview/route.tsبه همراه یک URL امضا شده حاویREVALIDATE_SECRETمیفرستد. - فعالسازی Draft Mode: سرور با استفاده از
node:cryptoهش HMAC را اعتبارسنجی کرده و در صورت صحت، Draft Mode را روشن میکند (ارسال کوکی نشست امن). - رندر زنده: کاربر به صفحه مورد نظر ریدایرکت شده و نسخه Draft محتوا را میبیند.
یکپارچگی سکرت با REVALIDATE_SECRET
برای سادگی در پیکربندی و امنیت یکپارچه، پیشنمایش استرپی و وبهوکهای بازتولید آنی (ISR) هر دو از متغیر واحد
REVALIDATE_SECRET در فایل .env استفاده میکنند و نیازی به تعریف کلید مجزا برای پیشنمایش نیست.📨 خبرنامه و ضد-اسپم (Anti-Spam Rate Limiting)
سیستم عضویت در خبرنامه (مسیر api/newsletter/route.ts) مستقیماً به CRM قدرتمند SendPulse متصل است.
امنیت از طریق Rate Limiting
برای جلوگیری از سوءاستفاده رباتها (Bot Abuse) و پر شدن دیتابیس خبرنامه یا تمام شدن سقف درخواستهای API شخص ثالث، این اندپوینت از یک Rate Limiter بومی و مبتنی بر IP استفاده میکند.
- حداکثر درخواست مجاز: ۲ درخواست
- بازه زمانی (Window): ۱ ساعت (60 * 60 * 1000 میلیثانیه)
- مکانیزم ردیابی: آدرس IP کاربر از طریق هدر
x-forwarded-forاستخراج شده و در مموری کش سرور ردیابی میشود. - در صورت عبور از محدودیت، سرور خطای
429 Too Many Requestsبرمیگرداند.
.env (متغیرهای SendPulse)
bashSENDPULSE_API_ID=your_api_idSENDPULSE_API_SECRET=your_api_secretSENDPULSE_BOOK_ID=your_target_mailing_list_id