امنیت و حریم خصوصی

هنگامی که یک فرم ایجاد می کنید، با داده های کاربر کار می کنید. نگرانی شماره یک شما باید این باشد که اطمینان حاصل کنید که داده های کاربر خصوصی نگه داشته می شوند و به طور ایمن منتقل می شوند. بیایید نگاهی به آنچه می توان انجام داد.

از امن بودن فرم خود اطمینان حاصل کنید

به عنوان اولین قدم، مطمئن شوید که تا حد امکان داده های کمتری را درخواست کنید. اطلاعاتی را که نیاز ندارید نپرسید و همیشه این سوال را مطرح کنید که آیا به همه داده های درخواستی نیاز دارید یا خیر. داده های کمتر به معنای ریسک کمتر، هزینه کمتر و مسئولیت کمتر است. علاوه بر این، کاهش تعداد فیلدها در یک فرم، پیچیدگی آن را کاهش می‌دهد، پر کردن آن را آسان‌تر می‌کند و می‌تواند نرخ رها شدن را کاهش دهد.

همیشه از HTTPS استفاده کنید ، به خصوص برای صفحاتی که دارای فرم هستند. با HTTPS، داده ها هنگام ورود از سرور و هنگام بازگشت به سرور رمزگذاری می شوند.

فرض کنید در یک کافه با استفاده از Wi-Fi عمومی نشسته اید. شما یک سایت تجارت الکترونیک باز می کنید و اطلاعات کارت اعتباری خود را برای خرید چیزی پر می کنید. اگر وب‌سایت از HTTP استفاده می‌کند، هر کسی (با مهارت انجام این کار) در همان Wi-Fi عمومی می‌تواند اطلاعات کارت اعتباری شما را ببیند. اگر وب‌سایت از HTTPS استفاده می‌کند، داده‌ها رمزگذاری می‌شوند و بنابراین از هر کسی که سعی در دسترسی به آن را دارد محافظت می‌شود.

در سایت خود، همچنین باید مطمئن شوید که هر درخواست HTTP را به HTTPS هدایت کنید. درباره نحوه تغییر مسیر همه ترافیک به HTTPS بیشتر بیاموزید.

به کاربران کمک کنید تا داده های خود را خصوصی نگه دارند

در ماژول اول ، با دو روش ممکن برای انتقال داده آشنا شدید: استفاده از درخواست GET و استفاده از درخواست POST .

با درخواست GET ، داده های فرم به عنوان یک رشته پرس و جو در URL درخواست گنجانده می شود. اگر فرمی ارسال می کنید که از درخواست GET استفاده می کند، مرورگر URL درخواست شامل داده های فرم را به سابقه مرور شما اضافه می کند. اگر می خواهید فرم های ارسالی قبلی را جستجو کنید، برای مثال برای فرم جستجو، راحت است. اگر داده‌های حساس ارسال شده باشد، اصلاً عالی نیست و همه افرادی که به سابقه مرورگر یا شبکه محلی شما دسترسی دارند می‌توانند این اطلاعات را ببینند.

از درخواست‌های POST برای هر فرمی که ممکن است داده‌های شخصی یا حساس دیگر ارسال شود، استفاده کنید. به این ترتیب، داده ها فقط برای اسکریپت پشتیبان که آنها را پردازش می کند قابل مشاهده است.

در مورد ذخیره و پردازش اطلاعات شخصی به طور مستقیم در مرورگر چطور؟ شما می توانید از حافظه مشتری، به عنوان مثال، localStorage برای ذخیره داده های شخصی در مرورگر استفاده کنید. با توجه به حریم خصوصی، این کمتر از حد ایده آل است. باز هم، هرکسی که به مرورگر شما دسترسی دارد می‌تواند این اطلاعات را بخواند. شما فقط باید مقادیر رمزگذاری شده را برای داده های شخصی ذخیره کنید.

اطمینان حاصل کنید که کاربران می توانند با خیال راحت ثبت نام کرده و وارد سیستم شوند

احراز هویت حساب کاربری یک مسئله پیچیده از نظر حفظ حریم خصوصی و امنیت است. شاید بهتر باشد به جای ساختن سیستم احراز هویت امن خود از یک ارائه دهنده هویت شخص ثالث استفاده کنید.

درباره بهترین روش‌ها برای احراز هویت حساب و مدیریت رمز عبور بیشتر بیاموزید.

به کاربران کمک کنید به اطلاعات شخصی خود دسترسی داشته باشند

بسیاری از مناطق قوانین و مقررات مربوط به حفاظت از داده ها و حریم خصوصی دارند، از جمله CCPA در کالیفرنیا و PDPA در هند. هر وب سایت موجود در اتحادیه اروپا (EU) باید از مقررات عمومی حفاظت از داده ها (GDPR) پیروی کند، حتی اگر سایت در اتحادیه اروپا مستقر نباشد.

GDPR دستورالعمل هایی را برای جمع آوری و پردازش اطلاعات شخصی افراد ساکن در اتحادیه اروپا تنظیم می کند. برای پردازش داده‌های شخصی رضایت لازم است، کاربران می‌توانند در هر زمان اطلاعات شخصی را که ذخیره می‌کنید درخواست کنند و شما باید نشت داده‌ها را رسماً اعلام کنید. یک چیز خوب برای کاربر، زیرا به حفظ حریم خصوصی آنها کمک می کند. درباره GDPR بیشتر بدانید.

اطمینان حاصل کنید که کاربران شما می دانند که چگونه می خواهید داده های شخصی را پردازش کنید. شفافیت کلید اعتماد است. کاربران باید همیشه بتوانند به تمام داده هایی که برای آنها ذخیره کرده اید دسترسی داشته باشند، آنها را تغییر دهند و حذف کنند.

اطمینان حاصل کنید که کاربران می توانند اطلاعات شخصی خود را به روز کنند

به روز رسانی اطلاعات شخصی خود از جمله رمز عبور، آدرس ایمیل و نام کاربری را برای کاربران آسان کنید. به کاربران در مورد تغییرات داده های شخصی ذخیره شده آنها اطلاع دهید و اطمینان حاصل کنید که کاربران می توانند تغییرات را لغو کنند. به عنوان مثال، پس از تغییر آدرس ایمیل کاربران، به آدرس ایمیل قبلی و جدید ایمیل ارسال کنید.

حذف حساب کاربری خود، از جمله تمام داده های مرتبط را برای کاربران آسان کنید و در صورت لزوم، دانلود داده ها را ممکن کنید. حذف حساب در برخی مناطق یک الزام قانونی است.

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

بیشتر بیاموزید: بهترین روش های حریم خصوصی برنامه های وب .

اطمینان حاصل کنید که همه داده ها در وضعیت خوبی هستند

در ماژول قبلی، درباره اعتبارسنجی در قسمت جلویی یاد گرفتید. اعتبارسنجی Frontend مهم است، اما ممکن است کاربران همچنان بتوانند داده های نامعتبر ارسال کنند. به عنوان گام بعدی، شما باید قبل از ذخیره داده ها در پایگاه داده خود، داده های پشتیبان را نیز اعتبارسنجی کنید. این تضمین می کند که هیچ داده نامعتبری در پایگاه داده شما ذخیره نمی شود.

اعتبارسنجی به اطمینان از معتبر بودن قالب داده کمک می کند، اما همچنان نباید به داده های وارد شده توسط کاربران اعتماد کنید. چگونه می توانید با خیال راحت داده ها را خروجی کنید؟ برای جلوگیری از Cross Site Scripting (XSS) و اطمینان از ایمن بودن همه داده ها برای گنجاندن در HTML، باید داده ها را قبل از خروجی پاکسازی کنید.

درباره پاکسازی داده‌ها قبل از خروجی بیشتر بیاموزید و در صورت امکان از Sanitizer API استفاده کنید.

اطمینان حاصل کنید که همه ارسال‌ها از افراد واقعی هستند

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

اولین گزینه استفاده از سرویسی مانند reCAPTCHA برای تمایز بین افراد واقعی و ربات ها است. برای این کار باید یک قطعه جاوا اسکریپت را در صفحه خود قرار دهید و ویژگی های اضافی را به دکمه ارسال خود اضافه کنید.

reCAPTCHA بررسی های مختلفی را انجام می دهد تا بفهمد شما یک انسان هستید یا خیر. به عنوان مثال، ممکن است از شما بخواهد که تصاویر را شناسایی کنید. نرم افزارهای خودکار، مانند ربات، نمی توانند این چالش ها را انجام دهند و نمی توانند فرم را ارسال کنند.

یک ظرف عسل

گزینه دیگر استفاده از یک به اصطلاح "honeypot" است: یک فیلد فرم پنهان بصری. انسان‌ها فیلد Honeypot را نمی‌بینند، اما ربات‌ها آن را پر می‌کنند. در باطن، اسکریپت پردازش شما می‌تواند بررسی کند که آیا این فیلد تکمیل شده است یا خیر. اگر اینطور بود، ارسال احتمالاً از یک ربات بوده است و می توانید آن را نادیده بگیرید.

همچنین خدماتی مانند Akismet وجود دارد که می تواند به شما در محافظت از هرزنامه کمک کند. فیلتر Akismet با ترکیب اطلاعات مربوط به هرزنامه های ضبط شده در همه سایت های شرکت کننده و سپس استفاده از قوانین هرزنامه برای مسدود کردن هرزنامه های آینده کار می کند. Akismet برای کاربر شفاف است و بیشتر هرزنامه ها را می گیرد.

درک خود را بررسی کنید

دانش خود را در مورد امنیت و حریم خصوصی آزمایش کنید

روش ارجح برای انتقال داده های شخصی با استفاده از فرم ها چیست؟

یک درخواست POST
🎉
یک کبوتر حامل.
دوباره امتحان کنید!
یک درخواست GET
دوباره امتحان کنید!
HTTPS
دوباره امتحان کنید!

چگونه می توانید از اسپم جلوگیری کنید؟

CAPTCHAS
🎉
یک فیلد فرم Honeypot.
🎉
خدمات اسپم
🎉
فقط فرم های گیاهی سرو کنید.
دوباره امتحان کنید!

منابع