ความปลอดภัยและความเป็นส่วนตัว

เมื่อสร้างแบบฟอร์ม คุณจะต้องทำงานกับข้อมูลผู้ใช้ ข้อกังวลสำคัญอันดับหนึ่งของคุณคือการดูแลข้อมูลผู้ใช้ให้มีความเป็นส่วนตัวและโอนข้อมูลได้อย่างปลอดภัย มาดูกันว่าคุณจะทำอะไรได้บ้าง

ตรวจสอบว่าแบบฟอร์มของคุณปลอดภัย

ในขั้นตอนแรก ให้ขอข้อมูลน้อยที่สุดเท่าที่จะเป็นไปได้ อย่าถามข้อมูลที่ไม่จำเป็นและถามเสมอว่าต้องใช้ข้อมูลที่ขอทั้งหมดหรือไม่ ยิ่งข้อมูลน้อย ก็ยิ่งมีความเสี่ยง ค่าใช้จ่ายน้อยลง และความรับผิดน้อยลงด้วย นอกจากนี้ การลดจำนวนช่องในแบบฟอร์มยังช่วยลดความซับซ้อน กรอกแบบฟอร์มได้ง่ายขึ้น และลดอัตราการหยุดกลางคันได้

ใช้ HTTPS เสมอ โดยเฉพาะในหน้าที่มีแบบฟอร์ม ด้วย HTTPS ข้อมูลจะได้รับการเข้ารหัสเมื่อมาจากเซิร์ฟเวอร์และเมื่อกลับไปที่เซิร์ฟเวอร์

สมมติว่าคุณนั่งอยู่ในคาเฟ่ที่ใช้ Wi-Fi สาธารณะ คุณเปิดเว็บไซต์อีคอมเมิร์ซและกรอกข้อมูลบัตรเครดิตเพื่อซื้อสินค้า หากเว็บไซต์ใช้ HTTP ทุกคน (ที่มีทักษะในการใช้) บน Wi-Fi สาธารณะเดียวกันจะเห็นข้อมูลบัตรเครดิตของคุณ หากเว็บไซต์ใช้ HTTPS ข้อมูลจะได้รับการเข้ารหัสและได้รับการปกป้องจากผู้ที่พยายามเข้าถึง

ในเว็บไซต์ คุณควรตรวจสอบว่าได้เปลี่ยนเส้นทางคำขอ HTTP ไปยัง HTTPS แล้ว ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีเปลี่ยนเส้นทางการเข้าชมทั้งหมดไปยัง HTTPS

ช่วยให้ผู้ใช้รักษาข้อมูลของตนให้เป็นส่วนตัว

ในโมดูลแรก คุณได้เรียนรู้เกี่ยวกับวิธีการโอนข้อมูลที่เป็นไปได้ 2 วิธี ได้แก่ การใช้คำขอ GET และการใช้คำขอ POST

เมื่อใช้คำขอ GET ข้อมูลในแบบฟอร์มจะรวมเป็นสตริงการค้นหาใน URL ของคำขอ หากคุณส่งแบบฟอร์มที่ใช้คำขอ GET เบราว์เซอร์จะเพิ่ม URL คำขอ รวมถึงข้อมูลแบบฟอร์มลงในประวัติการท่องเว็บ หากคุณต้องการดูการส่งแบบฟอร์มในอดีต เช่น แบบฟอร์มการค้นหา ไม่ดีเลยถ้ามีการส่งข้อมูลที่ละเอียดอ่อน และทุกคนที่มีสิทธิ์เข้าถึงประวัติเบราว์เซอร์หรือเครือข่ายท้องถิ่นของคุณจะเห็นข้อมูลนี้

ใช้คำขอ POST กับแบบฟอร์มทั้งหมดที่มีการส่งข้อมูลส่วนบุคคลหรือข้อมูลที่ละเอียดอ่อน วิธีนี้ทำให้ข้อมูลมองเห็นได้เฉพาะสคริปต์แบ็กเอนด์ที่ประมวลผลอยู่เท่านั้น

ขั้นตอนการบันทึกและประมวลผลข้อมูลส่วนตัวในเบราว์เซอร์โดยตรง คุณสามารถใช้พื้นที่เก็บข้อมูลของไคลเอ็นต์ เช่น localStorage เพื่อจัดเก็บข้อมูลส่วนตัวในเบราว์เซอร์ สำหรับความเป็นส่วนตัวนั้นไม่ค่อยดีเท่าไหร่ ขอย้ำอีกครั้งว่าทุกคนที่มีสิทธิ์เข้าถึงเบราว์เซอร์ของคุณจะอ่านข้อมูลนี้ได้ คุณควรจัดเก็บค่าที่เข้ารหัสไว้สำหรับข้อมูลส่วนตัวเท่านั้น

ตรวจสอบว่าผู้ใช้ลงชื่อสมัครใช้และลงชื่อเข้าใช้ได้อย่างปลอดภัย

การตรวจสอบสิทธิ์บัญชีผู้ใช้เป็นปัญหาที่ซับซ้อนในแง่ของความเป็นส่วนตัวและความปลอดภัย การใช้ผู้ให้บริการข้อมูลประจำตัวบุคคลที่สามแทนการสร้างระบบการตรวจสอบสิทธิ์ที่ปลอดภัยอาจดีกว่า

ดูข้อมูลเพิ่มเติมเกี่ยวกับแนวทางปฏิบัติแนะนำสำหรับการตรวจสอบสิทธิ์บัญชีและการจัดการรหัสผ่าน

ช่วยให้ผู้ใช้เข้าถึงข้อมูลส่วนตัว

หลายภูมิภาคมีกฎหมายและข้อบังคับเกี่ยวกับการคุ้มครองข้อมูลและความเป็นส่วนตัว ซึ่งรวมถึง CCPA ในแคลิฟอร์เนียและ PDPA ในอินเดีย ทุกเว็บไซต์ที่มีอยู่ในสหภาพยุโรป (EU) ต้องเป็นไปตามกฎระเบียบให้ความคุ้มครองข้อมูลส่วนบุคคลของผู้บริโภค (GDPR) แม้ว่าเว็บไซต์ดังกล่าวจะไม่ได้อยู่ในสหภาพยุโรป

GDPR กำหนดหลักเกณฑ์ในการรวบรวมและการประมวลผลข้อมูลส่วนบุคคลจากผู้ที่อาศัยอยู่ในสหภาพยุโรป ต้องได้รับความยินยอมในการประมวลผลข้อมูลส่วนตัว ผู้ใช้ขอข้อมูลส่วนบุคคลที่คุณเก็บไว้ได้ทุกเมื่อ และคุณต้องประกาศการรั่วไหลของข้อมูลอย่างเป็นทางการ ซึ่งดีสำหรับผู้ใช้ เนื่องจากวิธีนี้จะช่วยให้มั่นใจได้ว่าผู้ใช้จะได้รับการเคารพความเป็นส่วนตัว ดูข้อมูลเพิ่มเติมเกี่ยวกับ GDPR

ตรวจสอบว่าผู้ใช้ทราบวิธีการประมวลผลข้อมูลส่วนตัวของคุณ ความโปร่งใสเป็นกุญแจสำคัญที่วางใจ ผู้ใช้ควรสามารถเข้าถึง แก้ไข และลบข้อมูลทั้งหมดที่คุณบันทึกไว้ได้

ตรวจสอบว่าผู้ใช้อัปเดตข้อมูลส่วนตัวได้

ช่วยให้ผู้ใช้อัปเดตข้อมูลส่วนตัว เช่น รหัสผ่าน อีเมล และชื่อผู้ใช้ได้ง่าย แจ้งให้ผู้ใช้ทราบเกี่ยวกับการเปลี่ยนแปลงข้อมูลส่วนตัวที่จัดเก็บไว้ และตรวจสอบว่าผู้ใช้สามารถเพิกถอนการเปลี่ยนแปลงได้ เช่น ส่งอีเมลไปยังอีเมลเดิมและอีเมลใหม่หลังจากที่ผู้ใช้เปลี่ยนอีเมล

ทำให้ผู้ใช้สามารถลบบัญชีของตนได้ง่าย รวมถึงข้อมูลที่เกี่ยวข้องทั้งหมด และยังดาวน์โหลดข้อมูลได้หากเกี่ยวข้อง การลบบัญชีเป็นข้อกำหนดทางกฎหมายในบางภูมิภาค

กำหนดให้มีขั้นตอนการตรวจสอบสิทธิ์เพิ่มเติม ตัวอย่างเช่น การป้อนรหัสผ่านปัจจุบันอีกครั้ง เพื่อดูหรือเปลี่ยนแปลงข้อมูลส่วนบุคคลในเว็บไซต์

ดูข้อมูลเพิ่มเติมได้ที่ แนวทางปฏิบัติแนะนำด้านความเป็นส่วนตัวของเว็บแอปพลิเคชัน

ตรวจสอบว่าข้อมูลทั้งหมดเรียบร้อยดี

ในโมดูลก่อนหน้านี้ คุณได้เรียนรู้เกี่ยวกับการตรวจสอบในฟรอนท์เอนด์ การตรวจสอบฟรอนท์เอนด์เป็นสิ่งสำคัญ แต่ผู้ใช้อาจยังส่งข้อมูลที่ไม่ถูกต้องได้ ในขั้นตอนถัดไป คุณจะต้องตรวจสอบข้อมูลในแบ็กเอนด์ก่อนที่จะบันทึกข้อมูลในฐานข้อมูล ซึ่งจะช่วยให้มั่นใจว่าจะไม่มีการบันทึกข้อมูลที่ไม่ถูกต้องในฐานข้อมูลของคุณ

การตรวจสอบช่วยให้มั่นใจได้ว่ารูปแบบข้อมูลถูกต้อง แต่คุณไม่ควรเชื่อถือข้อมูลที่ป้อนโดยผู้ใช้ คุณจะส่งออกข้อมูลอย่างปลอดภัยได้อย่างไร เพื่อป้องกันไม่ให้มีการเขียนสคริปต์ข้ามเว็บไซต์ (XSS) และตรวจสอบว่าข้อมูลทั้งหมดปลอดภัยที่จะรวมไว้ใน HTML คุณจะต้องปรับแต่งข้อมูลก่อนส่งออก

ดูข้อมูลเพิ่มเติมเกี่ยวกับการทำความสะอาดข้อมูลก่อนส่งออก และใช้ Sanitizer API หากเป็นไปได้

มั่นใจได้ว่าการส่งทั้งหมดมาจากคนจริงๆ

คุณมีตัวเลือกต่างๆ ในการป้องกันการส่งสแปมจากบ็อตเพื่อช่วยปกป้องข้อมูลของคุณ

ตัวเลือกแรกคือการใช้บริการ เช่น reCAPTCHA เพื่อแยกความแตกต่างระหว่างผู้ใช้จริงกับบ็อต โดยจะต้องใส่ข้อมูลโค้ด JavaScript ในหน้าเว็บ และเพิ่มแอตทริบิวต์ลงในปุ่มส่ง

reCAPTCHA จะตรวจสอบต่างๆ ว่าคุณเป็นมนุษย์หรือไม่ เช่น ระบบอาจขอให้คุณระบุรูปภาพ ซอฟต์แวร์อัตโนมัติ เช่น บ็อต จะทำให้ทำภารกิจเหล่านี้ไม่สำเร็จและส่งแบบฟอร์มไม่ได้

โถน้ำผึ้ง

อีกทางเลือกหนึ่งคือการใช้ "หม้อน้ำผึ้ง" ที่เรียกกันว่า "หม้อน้ำผึ้ง" ซึ่งเป็นช่องแบบฟอร์มที่ซ่อนอยู่ มนุษย์จะไม่เห็นทุ่งน้ำผึ้ง แต่บ็อตจะเติมช่องนั้นลงไป ในแบ็กเอนด์ สคริปต์การประมวลผลจะตรวจสอบได้ว่าช่องดังกล่าวเสร็จสมบูรณ์หรือไม่ หากไม่ใช่ อาจเป็นเพราะการส่งข้อมูลมาจากบ็อตและคุณไม่สนใจได้

นอกจากนี้ยังมีบริการต่างๆ เช่น Akismet ซึ่งช่วยคุณป้องกันสแปมได้ด้วย ตัวกรอง Akismet ทำงานโดยผสานข้อมูลเกี่ยวกับสแปมที่บันทึกในเว็บไซต์ที่เข้าร่วมทั้งหมด แล้วใช้กฎสแปมเหล่านั้นในการบล็อกสแปมในอนาคต Akismet แสดงความโปร่งใสต่อผู้ใช้และตรวจจับสแปมส่วนใหญ่ได้

ทดสอบความเข้าใจ

ทดสอบความรู้ของคุณเกี่ยวกับความปลอดภัยและความเป็นส่วนตัว

วิธีใดคือวิธีการโอนข้อมูลส่วนตัวโดยใช้แบบฟอร์ม

คำขอPOST
🎉
นกพิราบผู้ให้บริการ
ลองอีกครั้งนะ
คำขอGET
ลองอีกครั้งนะ
HTTPS
ลองอีกครั้งนะ

คุณจะป้องกันสแปมได้อย่างไร

CAPTCHA
🎉
ฟิลด์แบบฟอร์ม Honeypot
🎉
บริการสแปม
🎉
เสิร์ฟเฉพาะรูปแบบมังสวิรัติ
ลองอีกครั้งนะ

แหล่งข้อมูล