نسخه ۱.۵.۶ — اصلاحات امنیتی و هشدارهای انتشار

۱. مسیر قدیمی ثبت‌نام khed_register برای ایجاد حساب با شماره تلفن بدون تأیید پیامکی مسدود شد؛ مسیر کنونی ورود و ثبت‌نام OTP باقی ماند. اگر مشتری از فرم سفارشی قدیمی استفاده کند باید آن را به OTP منتقل کند.
۲. کد ورود آزمایشی تنها برای محیط local/development یا با مجوز صریح سروری KHEDMATKAR_ALLOW_TEST_AUTH فعال است. روی Production بدون مجوز کد ثابت کار نمی‌کند.
۳. بازپس‌گیری درخواست‌های مهمان فقط برای کاربری با شماره موبایل تأییدشده در جریان OTP انجام می‌شود. حساب‌های قدیمی قبل از بازپس‌گیری باید یک‌بار شماره را با OTP تأیید کنند. هنگام اولین تأیید OTP برای حساب قدیمیِ مشترک با نام کاربری موبایلی، رمز عبور قبلی به‌صورت تصادفی بازنشانی می‌شود تا هیچ مدعی قبلی با رمز قدیمی وارد نشود؛ کاربر همچنان با OTP می‌تواند وارد شود.
۴. Callback پرداخت به تطابق کامل Authority ذخیره‌شده وابسته شد.
۵. JSON درون تگ script ضد تزریق HTML شد.

آزمایش‌های الزامی پیش از فروش:
- نصب تازه و آپدیت روی نسخه ۱.۵.۵ با بانک اطلاعاتی نمونه + نسخه پشتیبان
- ورود OTP واقعی، تلاش ورود با کد غلط، وضعیت تستی و ثبت‌نام، نقش‌های مشتری و سرویس‌کار
- پرداخت واقعی/سندباکس، بازگشت موفق/ناموفق و callback تکراری
- Elementor و Elementor Pro: صفحه ویرایش، هدر، فوتر، منو، همه ویجت‌ها، موبایل/دسکتاپ
- WooCommerce / SEO و سازگاری WP/PHP نسخه‌های اعلام‌شده
- داده‌های سابق، تنظیمات قدیمی، فرم‌ها و سفارش‌های قدیمی

این ZIP در محیط CLI از نظر سینتکس بررسی می‌شود؛ انتشار نهایی تجاری بدون تست عملی مجاز نیست.

۶. امنیت آپلودهای فرم هوشمند: فایل ZIP و فرمت‌های قدیمی DOC/XLS و GIF در فرم‌های عمومی به صورت پیش‌فرض مجاز نیستند. فرمت‌های PDF/JPEG/PNG/WEBP/DOCX/XLSX/TXT همچنان تا سقف ۱۰ مگابایت مجاز هستند. مدیر سایت در صورت نیاز با فیلتر khedmatkar_form_smart_upload_mimes می‌تواند سیاست را تنظیم کند. اگر اعتبارسنجی فرم شکست بخورد یا پایگاه داده نتواند فرم را ثبت کند، فایل‌های آپلودشده همان درخواست حذف می‌شوند. فایل‌های پذیرفته‌شده همچنان در پوشه عمومی uploads وردپرس قرار می‌گیرند؛ مدارک حساس را از طریق این فرم دریافت نکنید مگر اینکه مکانیزم ذخیره‌سازی خصوصی مطمئن پیاده شده باشد.
۷. فایل‌های فونت نسخه اصلی بدون تغییر باقی مانده‌اند تا ظاهر مشتریان قبلی به هم نریزد. فروشنده پیش از فروش باید حق بازتوزیع IRANYekan را بررسی کند؛ این بسته مجوزی برای فونت نمی‌سازد.
۸. پوشه languages اضافه شد، اما رشته‌های فارسی قالب همگی آماده ترجمه نیستند؛ ادعای پشتیبانی کامل چندزبانه نکنید.
