• 3.1.9
  • کامل شده
  • منقضی شده
این داکیومنت از طرف توسعه‌دهنده ساپورت نمی‌شود، جدیدترین ورژن داکیومنت بزودی ترجمه خواهد شد.

Trackback Class برای دریافت و ارسال اعلان Trackback بین وب‌سایت‌ها طراحی شده است. این سازوکار در وبلاگ‌های قدیمی برای اطلاع دادن به یک سایت دیگر درباره ارجاع به محتوای آن استفاده می‌شد و امروزه در بسیاری از پروژه‌ها با لینک‌سازی عادی یا Webhook جایگزین شده است.

ساختار و API اصلی

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

نمونه استفاده

 $this->load->library('trackback');
 $data = array(
     'tb_url' => 'https://blog.example.org/trackback',
     'title' => 'مقاله مرتبط',
     'excerpt' => 'خلاصه ارجاع',
     'blog_name' => 'وبلاگ فروشگاه',
     'url' => current_url()
 );

نکته مهم

Trackback را با Webhook یا REST API یکی ندانید. اگر پروژه جدید می‌سازید، قبل از فعال کردن این قابلیت، نیاز واقعی و خطر Spam را بررسی کنید.

مطالعه مرتبط

برای ادامه مطالعه، MVC، کوئری، ترنزکشن را ببینید.

عملیات Trackback

متد یا مفهومکاربرد
send()ارسال اعلان Trackback.
receive()دریافت داده ورودی.
validate()بررسی ساختار و اعتبار درخواست.
dataعنوان، خلاصه، URL و نام وبلاگ.
محدودیتبرای سامانه جدید، Webhook یا API امن معمولاً گزینه مناسب‌تری است.

نحوه استفاده و عیب‌یابی

در یک Controller ابتدا Library را با Loader بارگذاری کنید، سپس تنظیمات محیطی را به آن بدهید و عملیات را اجرا کنید. نتیجه را از مسیر مشخص دریافت کنید و در صورت شکست، پیام خطا را در Log ثبت کنید. اگر Library به Driver خارجی وابسته است، وجود افزونه PHP یا برنامه موردنیاز را روی سرور بررسی کنید.

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

در بازبینی کد، ترتیب و نتیجه متدهای send()، receive()، validate()، data را بررسی کنید. نام متد به‌تنهایی تضمین نمی‌کند ورودی معتبر یا خروجی امن باشد، بنابراین رفتار هر متد را با تست و مستندات همان نسخه کنترل کنید.

سایر پست های داکیومنت