انتشار نسخهء 1.8 پروژه سیستم رجیستر و لاگین

نسخهء 1.8 ارائه میشود: دانلود

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

البته خوشبختانه باگها اکثرا امنیتی نبودن.

البته در بخشهای مربوط به ادمین از نظر SQL Injection تنبلی و کم کاری کرده بودم با این فرض که ادمین مالک سایت هم هست و معنی نداره به سایتی که کامل زیر دست خودشه حمله کنه؛ ولی بعد فکر کردم این فرض لزوما درست نیست که ادمین برنامه ادمین خود هاست هم هست! مثلا ممکنه ما بعنوان مالک سایت برنامه رو نصب کنیم و بعد مشخصات ورود به اکانت ادمین رو بدیم به کس دیگه تا اون ادمین سیستم باشه.
خوشبختانه در بخشهای ادمین کار خیلی کمی نیاز بود تا در برابر SQL Injection امن بشه.

سیستم ضد CSRF رو هم یخورده قوی تر کردم؛ یک توکن رو دو توکن کردم که یکی برای درخواستهای GET و دیگری برای درخواستهای POST استفاده بشه. اینطور اگر توکن درخواستهای GET دست دیگران بیفته (چون دیتای موجود در Query string امنیت کمتری داره نسبت به دیتاهایی که در فیلدهای فرمها با درخواستهای POST منتقل میشن)، امنیت درخواستهای POST همچنان محفوظ میمونه. معمولا هم عملیات مهم که بخصوص در سمت سرور تغییر ایجاد میکنن با POST انجام میشن (حداقل از نظر اصولش باید اینطور باشه).

متد درخواستهای ایجکس رو هم از GET به POST تغییر دادم که اصول و امنیتش بهتر رعایت شده باشه. حداقل از نظر احتیاط ضرر نداره.

امکان دیگر هم که اضافه کردم، گزینهء لیست و مشخصات اکانتهای منتظر تایید شدن ایمیل با لینک فعال سازی است، که در اون صفحه ادمین میتونه اگر خواست هرکدام رو حذف هم بکنه (البته قاعدتا نباید این کار رو بکنه/نیازی نیست، ولی بهرحال امکانش رو گذاشتم چون برای توسعه و تست هم مفیده).

یک اشتباه ضایع هم در بخش سیستم بلاک IP (ضد Brute-force) وجود داشت که برطرف کردم.
اشکال این بود که تنظیمات سیستم قفل IP برای ورود به اکانت ادمین و کاربران معمولی جداست، ولی در عمل اینا قاطی هم میشدن. موقع تست های قبلی متوجه این قضیه نشده بودم!

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

الان برنامه از همون اول و بخش نصب دیتابیس میتونه فارسی بشه. البته یادتون نره اول دیتابیس خالی برنامه رو (دیتابیسی با نام reg8log) باید بصورت دستی ایجاد کنید.

تغییر زبان در هر لحظه میتونه توسط گزینه ای که در صفحات درج کردم براحتی صورت بگیره.

این متغییرها به فایل اینکلودی common.php اضافه شدن که مربوط به زبان پیشفرض هستند:

متغییر lang: این متغییر زبان پیشفرض سیستم رو مشخص میکنه. درحال حاضر فقط دو مقدار en و fa قابل استفاده هستند.

متغییر admin_emails_lang: زبان ایمیل های آگاه سازی ارسالی به ادمین رو مشخص میکنه. اگر مقدارش خالی باشه، از مقدار متغییر lang بجاش استفاده میشه.

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

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

شما می‌توانید از این دستورات HTML استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>