ساخت و طراحی
پشت یک سایت زیبا، چه چیزهایی باید واقعاً کار کنند؟
فرم، حساب، ذخیرهسازی و دسترسی را بررسی کن تا ظاهر آمادهٔ سایت با قابلیت واقعی اشتباه نشود.

پیشنمایش قالب نمایشی ساروی؛ دادهها نمونهاند
یک فرم میتواند روی صفحه کامل به نظر برسد، در حالی که اطلاعات را جایی ذخیره نمیکند. برای بررسی سایت ساختهشده با هوش مصنوعی لازم نیست همهٔ جزئیات فنی را بدانی؛ اما باید برای هر ادعای مهم یک مسیر قابل آزمایش داشته باشی.
- فرم واقعاً نتیجهٔ قابل مشاهده دارد.
- دو حساب مستقل دادهٔ یکدیگر را نمیبینند.
- خطا و ارسال تکراری بررسی شدهاند.
برای هر دکمه بپرس بعدش چه میشود
بعد از ارسال فرم، اطلاعات کجا میرود؟ چه کسی آن را میبیند؟ اگر صفحه بسته شود، اطلاعات باقی میماند؟ پاسخ این سؤالها باید در رفتار واقعی محصول دیده شود. یک پیام موفقیت نمایشی، اتصال به سرویس را اثبات نمیکند.
از سازنده بخواه اتصالهای فعال، اتصالهای نیازمند تنظیم و بخشهای صرفاً نمونه را جدا فهرست کند. این فهرست را با خود رابط تطبیق بده.
دو حساب مستقل را امتحان کن
اگر سایت حساب کاربری دارد، با دو حساب آزمایشی بررسی کن که هرکدام فقط اطلاعات مجاز را میبینند. دسترسی باید روی سرور کنترل شود؛ پنهانکردن یک دکمه در مرورگر کافی نیست.
آزمون دسترسی را به دادههای آزمایشی خودت محدود کن. هدف این است که مرز حسابها و نقشها را در پروژهٔ خودت بررسی کنی، نه اطلاعات افراد دیگر را جستوجو کنی.
خطا هم بخشی از محصول است
ورودی ناقص، قطع ارتباط یا تلاش تکراری را بررسی کن. کاربر باید بفهمد چه اتفاقی افتاده و چه کاری میتواند انجام دهد. نمایش متن خام خطای سرور یا کلید تنظیمات، پاسخ مناسبی به کاربر نیست.
برای عملیات مهم از سازنده بپرس ارسال دوباره چه اثری دارد. نباید صرفاً با دوبار زدن یک دکمه، دو سفارش یا دو عملیات ناخواسته ساخته شود.
اتصال عمومی را جدا بازبینی کن
پس از انتقال از پیشنمایش به محیط عمومی، مسیر اصلی را دوباره امتحان کن. نشانی سرویسها، تنظیمات دامنه و دسترسی فایل ممکن است در محیط جدید متفاوت باشد. اطلاعات محرمانه هم نباید وارد کد قابل دریافت در مرورگر شود.
یک مثال قبل و بعد
این مثال آموزشی را با ورودی واقعی خودت جایگزین کن. هدف، روشنکردن چیزی است که باید تحویل بگیری.
| درخواست یا فرض مبهم | نسخهٔ قابل بررسی |
|---|---|
| فرم رزرو آماده است؛ پس سیستم رزرو کار میکند. | با دادهٔ آزمایشی رزرو کن، نتیجهٔ ذخیرهشده و رفتار ظرفیت پر را بررسی کن. تا وقتی اتصال واقعی تأیید نشده، نمایش نمونه را از قابلیت فعال جدا نگه دار. |
یک تمرین برای امروز
سه وضعیت برای همان فرم تعریف کن: دادهٔ درست، دادهٔ ناقص و ساعتی که دیگر ظرفیت ندارد. رفتار مورد انتظار را قبل از پیادهسازی بنویس. پس از ساخت، هر وضعیت را در محیط آزمایشی اجرا کن و نتیجهٔ ذخیره یا پیام خطا را ببین. اگر فقط ظاهر صفحه تغییر کرده، نباید دربارهٔ ذخیرهسازی، اعلان یا پرداخت وعدهٔ تازه بدهی.
این کار را خودت انجام بده.
- فرم واقعاً نتیجهٔ قابل مشاهده دارد.
- دو حساب مستقل دادهٔ یکدیگر را نمیبینند.
- خطا و ارسال تکراری بررسی شدهاند.
- محیط عمومی جدا از پیشنمایش آزمایش میشود.
برای بررسی بیشتر
اصول کنترل دسترسی در OWASPدر انجام این کار به مشکل خوردی؟
از پشتیبانی کمک بگیر