برنامه نویسی

اعتبارسنجی داده ها بسیار مهم است، آن را نادیده نگیرید یا به تعویق نیندازید.

Summarize this content to 400 words in Persian Lang
من اغلب با پایگاه های کد پشتیبان روبرو می شوم که در آن داده ها قبل از پردازش یا درج مستقیم در پایگاه داده تأیید نمی شوند. این می‌تواند باعث ایجاد باگ‌های جدی شود، زیرا اتکای صرف به دوست frontend شما می‌تواند منجر به سردرد، خرابی جریان، منجر به داده‌های ناخواسته و غیرمنتظره در پایگاه داده شود و در صورت استفاده از پایگاه داده SQL شما را در برابر تزریق SQL آسیب‌پذیر کند.

پس راه حل چیست؟موافقم که اعتبارسنجی داده ها یک امر ضروری است، اما درست کردن آن همیشه آسان نیست.

در اینجا کاری است که می توانید انجام دهید:

به کسی اعتماد نکن

اعتبارسنجی داده ها شامل چهار مرحله مهم است:

نوع را بررسی کنید.
فرمت را تایید کنید
آن را پالایش کنید.
آن را تغییر دهید (اختیاری).

ما اغلب در اولین قدم توقف می کنیم و بقیه را نادیده می گیریم. این کار را نکن یک مثال ساده از اعتبارسنجی شماره تلفن را در نظر بگیرید. شما یک “رشته” را می پذیرید و بررسی می کنید که آیا یک رشته است. اگر چنین است، اجازه می دهید و اجازه می دهید به پایگاه داده برود. فعلا هیچ خطایی وجود ندارد اما اگر مجبور باشید آن شماره تلفن را با برخی از API های شخص ثالث تأیید کنید و فرمت شماره تلفن معتبر نباشد، چه؟ مدیریت آن در آینده ممکن است همچنان امکان پذیر باشد، اما تجربه کاربری خوبی نیست که به کاربر نشان دهیم داده های اشتباهی را وارد کرده است زیرا ما قالب را قبلاً تأیید نکردیم. حالا باید دوباره آن را با فرمت مناسب ارائه کنند.

برای ایجاد یک تجربه کاربری خوب، همیشه باید:

نوع داده (رشته، بولی، عدد صحیح، شی) را بررسی کنید.
فرمت را تأیید اعتبار کنید – اگر شماره تلفن است، باید شبیه شماره تلفن باشد.
آن را اصلاح کنید – آن را برای موارد استفاده آینده عالی کنید. به عنوان مثال، اگر در ابتدا به “+” نیاز ندارید، اکنون آن را حذف کنید.
تبدیل آن – پس از حذف “+”، ممکن است با یک رشته الفبایی باقی بمانید، اما به جای یک رشته به یک عدد نیاز دارید، بنابراین آن را تبدیل کنید.

این تنها چیزی است که باید از آن مراقبت کنید تا باطن خود را قوی تر کنید.

اگر شما هم مانند من عاشق TypeScript هستید، می توانید از Zod برای برآورده کردن تمام معیارهای بالا استفاده کنید. این یک کتابخانه جامع با پشتیبانی عالی از TypeScript است.

با تشکر برای خواندن.

من اغلب با پایگاه های کد پشتیبان روبرو می شوم که در آن داده ها قبل از پردازش یا درج مستقیم در پایگاه داده تأیید نمی شوند. این می‌تواند باعث ایجاد باگ‌های جدی شود، زیرا اتکای صرف به دوست frontend شما می‌تواند منجر به سردرد، خرابی جریان، منجر به داده‌های ناخواسته و غیرمنتظره در پایگاه داده شود و در صورت استفاده از پایگاه داده SQL شما را در برابر تزریق SQL آسیب‌پذیر کند.

پس راه حل چیست؟
موافقم که اعتبارسنجی داده ها یک امر ضروری است، اما درست کردن آن همیشه آسان نیست.

در اینجا کاری است که می توانید انجام دهید:

به کسی اعتماد نکن

اعتبارسنجی داده ها شامل چهار مرحله مهم است:

  1. نوع را بررسی کنید.
  2. فرمت را تایید کنید
  3. آن را پالایش کنید.
  4. آن را تغییر دهید (اختیاری).

ما اغلب در اولین قدم توقف می کنیم و بقیه را نادیده می گیریم. این کار را نکن یک مثال ساده از اعتبارسنجی شماره تلفن را در نظر بگیرید. شما یک “رشته” را می پذیرید و بررسی می کنید که آیا یک رشته است. اگر چنین است، اجازه می دهید و اجازه می دهید به پایگاه داده برود. فعلا هیچ خطایی وجود ندارد اما اگر مجبور باشید آن شماره تلفن را با برخی از API های شخص ثالث تأیید کنید و فرمت شماره تلفن معتبر نباشد، چه؟ مدیریت آن در آینده ممکن است همچنان امکان پذیر باشد، اما تجربه کاربری خوبی نیست که به کاربر نشان دهیم داده های اشتباهی را وارد کرده است زیرا ما قالب را قبلاً تأیید نکردیم. حالا باید دوباره آن را با فرمت مناسب ارائه کنند.

برای ایجاد یک تجربه کاربری خوب، همیشه باید:

  1. نوع داده (رشته، بولی، عدد صحیح، شی) را بررسی کنید.
  2. فرمت را تأیید اعتبار کنید – اگر شماره تلفن است، باید شبیه شماره تلفن باشد.
  3. آن را اصلاح کنید – آن را برای موارد استفاده آینده عالی کنید. به عنوان مثال، اگر در ابتدا به “+” نیاز ندارید، اکنون آن را حذف کنید.
  4. تبدیل آن – پس از حذف “+”، ممکن است با یک رشته الفبایی باقی بمانید، اما به جای یک رشته به یک عدد نیاز دارید، بنابراین آن را تبدیل کنید.

این تنها چیزی است که باید از آن مراقبت کنید تا باطن خود را قوی تر کنید.

اگر شما هم مانند من عاشق TypeScript هستید، می توانید از Zod برای برآورده کردن تمام معیارهای بالا استفاده کنید. این یک کتابخانه جامع با پشتیبانی عالی از TypeScript است.

با تشکر برای خواندن.

نوشته های مشابه

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

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

دکمه بازگشت به بالا