Amirali Yaghoutiمهندس ارشد نرم‌افزار

مطالعه موردی مهندسی

بات دکتر SEO وردپرس

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

مسئله تجاری

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

آنچه تحویل دادم

  • یک سرویس FastAPI که هم یک رابط مرورگری و هم یک API قابل فراخوانی را روی یک هسته‌ی مشترک ارائه می‌دهد.
  • یک کانکتور وردپرس که با یک رمز اپلیکیشن از طریق REST API احراز هویت می‌کند و هیچ نیازی به نصب چیزی روی هدف ندارد.
  • پیکربندی جداشده از منطق، که اندپوینت، اعتبارنامه‌ها و انتخاب موتور را مستقل از تحلیل نگه می‌دارد.
  • یک نوع خطای اختصاصی کانکتور، تا سایتی که در دسترس نیست، بد پیکربندی شده یا پاسخی با شکل غیرمنتظره می‌دهد به‌شکل یک شکست زیرساختی خوانده شود نه یک یافته‌ی ممیزی.
  • انتخاب مدل به‌شکل پیکربندی، تا موتور استدلال بدون دست‌زدن به کد تشخیصی عوض شود.
  • CORS پیکربندی‌شده تا بعداً بشود یک فرانت‌اند جدا اضافه کرد بدون بازسازی سرویس.

رویکرد فنی

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

نتیجه و شواهد

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

اهمیت برای کارفرما

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

خلاصه-اجرایی-پروژه

خلاصه اجرایی خوانا

خلاصه_اجرایی {
  پروژه: "WordPress SEO Doctor Bot"
  پشته: "Python، FastAPI، Jinja2، Pydantic"
  دسترسی: "WP REST API + رمز اپلیکیشن، قابل ابطال توسط مالک"
  نصب_روی_هدف: "هیچ"
  چیدمان: "core/wp_connector + core/config، جداشده"
  خطاها: "نوع خطای اختصاصی کانکتور؛ شکست انتقال و دسترسی
          هیچ‌وقت به‌شکل یافته خوانده نمی‌شود"
  موتور: "قابل انتخاب از پیکربندی، نه هاردکد"
  سطوح: "رابط مرورگری و API روی یک هسته"
}

ارزش حرفه‌ای این پروژه

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

دادن یک نوع خطای اختصاصی به کانکتور کوچک است و نویز زیرساختی را از یافته‌ها بیرون نگه می‌دارد، که همان چیزی است که یافته‌ها را ارزش خواندن می‌دهد.