توسعه و امنیت

چت آنلاین با PHP و Node.js؛ ذخیره پیام از اعلان زنده جداست

برای چت قابل اتکا، ثبت پیام و نمایش سریع دو مسئولیت متفاوت‌اند. پیام باید با هویت معتبر ذخیره شود و اعلان زنده فقط به دریافت سریع‌تر آن کمک کند.

تحریریه وین وب۱۴۰۵/۰۷/۲۵ ۲ دقیقه مطالعه
چت آنلاین با PHP و Node.js؛ ذخیره پیام از اعلان زنده جداست

برای چت قابل اتکا، ثبت پیام و نمایش سریع دو مسئولیت متفاوت‌اند. پیام باید با هویت معتبر ذخیره شود و اعلان زنده فقط به دریافت سریع‌تر آن کمک کند.

منبع اصلی پیام را مشخص کنید

می‌توان ثبت و خواندن پیام را در PHP و دیتابیس نگه داشت و Node.js را برای رویدادهای زنده استفاده کرد. در این مدل، خاموش شدن Node نباید پیام ثبت‌شده را از بین ببرد. مرورگر می‌تواند با بررسی دوره‌ای، پیام‌های تازه را از مسیر مجاز دریافت کند.

دسترسی اتاق را سمت سرور کنترل کنید

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

مسیر اینترنتی را با HTTPS هماهنگ کنید

در سایت HTTPS، اتصال ناامن جداگانه می‌تواند توسط مرورگر محدود شود. یک reverse proxy روی همان دامنه، مدیریت نشانی و گواهی را ساده‌تر می‌کند. کلید مشترک سرویس‌ها را در فایل عمومی یا کد مرورگر قرار ندهید و بدنه درخواست داخلی را اعتبارسنجی کنید.

  • ثبت پیام را از وضعیت اتصال مستقل نگه دارید.
  • حجم، نرخ ارسال و طول پیام را محدود کنید.
  • خاموش و روشن شدن سرویس زنده را آزمون کنید.
درباره پروژه من

در ادامه بخوانید