کار کردن کد یا بدون باگ بودن کد؟چطور کدمون رو تست کنیم

کار کردن کد یا بدون باگ بودن کد؟چطور کدمون رو تست کنیمخب سلام.امشب داشتم روی پلاگین وردپرسیمون که به زودی عرضه میشه کار میکردم و به این نکته برخوردم که ممکنه یکم سحل انگاری به کار بدم و کد هام رو اونطوری که باید تست نکرده باشم.متاسفانه اینطور هم بود و بعد چک کردن به باگ هایی برخوردم که اکثرا بخاطر مشغله زیاد یا کم تمرکز بودن ایجاد شده بودن.مهترین مسأله این بود که اروری نداشتیم و این دقیقا چیزیه که همه ما درموردش اشتباه میکنیم؛هر کدی که کار میکنه صرفا یه کد خوب و تمیز نیست.شروع کردم به رفع کردن باگ ها و طبق معمول یه کامیت به گیت عزیز دادم و پروژه رو آپدیت کردم و به خودم قول دادم از این به بعد بیشتر روی کد هایی که مینویسم فکر کنم و از اون مهمتر:کدهامو از هر نحوی تست کنم.خب قطعا مهمترین باگ ها که باید خیلی مواظب بود باگ های امنیتی مخصوصا توی وب اپلیکیشن ها و API ها و حتی نرم افزار های native که ممکنه یه دیتای حساس داخلش نوشته بشه (مثل پسورد ادمین و دسترسی ها به کل از طریق API) و اینجاست که یه نفر رشته های نرم افزار شما رو به راحتی با نرم افزار های معکوس کننده برگردونه و…یکی از این باگ های امنیتی که برای من هم پیش اومده اینه که شما وقتی به کاربر دسترسی آپلود فایل رو میدین کاربر میتونه یه فایلی که مخرب هست رو به سرور شما به اصطلاح inject یا تزریق کنه و اون فایل رو اجرا کنه و به سرور یا دیتای های شما آسیب بزنه یا از اون ها استفاده نادرست بکنه.ممکنه که خیلی از ما این اشتباه رو کرده باشیم و بگیم که خب کاری نداره که من میام میگم من فقط فایل هایی که فرمتشون jpg هست رو قبول میکنم.اینجاست که دقیقا اشتباه بزرگی کردین:توی دنیای لینوکس فایل ها از طریق فرمت شناخته نمیشن بلکه از طریق دیتای باینری یا هگزادسیمال اون ذخیره میشه و میشه با یه نرم افزار ساده ویرایشگر hex روش شناسایی فرمت رو دور زد و فایل php یا غیره خودمون رو توی سرور با فرمت jpg ذخیره و اجرا کرد.نرم افزار های تست امنیت وب سایت برخلاف اون ذهنیتی که ازشون دارن میتونن بهمون کمک کنن تا باگ های امنیتی مثل باگ های SQL Injection رو پیدا کرد و اون رو رفع کرد.اگر یه کد حتی ساده نوشتید سعی کنید اون رو تمیز و به بهترین شکل بنویسید طوری که به خودتون بگید ایول این بهترین چیزی بود که میتونستم بنویسم و همچنین بعد نوشتن کدتون قطعا اون رو از هر طریق تست کنید(مثل کارفرما ها که با برنامه های ناز ما خشن رفتار میکنند :)) خیلی ممنون از مطالعه این نوشته :)امضا : mhsn

Author: admin

دیدگاهتان را بنویسید

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