คุณใช้ทั้งเทคนิคการตรวจสอบลูกค้าและฝั่งเซิร์ฟเวอร์หรือไม่?


10

คุณใช้ทั้งเทคนิคการตรวจสอบลูกค้าและฝั่งเซิร์ฟเวอร์เมื่อตรวจสอบข้อมูลจากผู้ใช้เช่นผ่านแบบฟอร์มการติดต่อหรือไม่

ถ้าเป็นเช่นนั้นจริงหรือไม่ คุณเป็นวิศวกรหรือเปล่า


สิ่งนี้น่าสนใจ: smashingmagazine.com/2009/07/07/…
TeaDrinkingGeek

คำตอบ:


27

ใช่และคุณควร

วิธีนี้จะเก็บข้อเสนอแนะของผู้ใช้ทันทีโดยไม่สูญเสียการ postbacks ขณะเดียวกันก็ป้องกันผู้ใช้ที่ปิดใช้งาน JavaScript

นี่คือวิธีการที่ASP.NET ควบคุมการตรวจสอบการทำงาน

แน่นอนว่ามันไม่ได้ใช้วิธีการทางวิศวกรรมมากไปกว่าการใช้อันที่ไม่มีข้อเสีย


8
+1 ไม่มีข้อแก้ตัวใด ๆ ที่ไม่มีการตรวจสอบด้านเซิร์ฟเวอร์
DBlackborough

11
ฝั่งเซิร์ฟเวอร์เป็นสิ่งจำเป็นฝั่งไคลเอ็นต์คือความสะดวกสบาย ในเว็บแอปพลิเคชันคุณไม่สามารถนับจำนวนได้ในการตรวจสอบความถูกต้องฝั่งไคลเอ็นต์
BillThor

@BillThor - ใช่ถูกต้องแล้ว
billy.bob

ผู้ใช้ที่ชาญฉลาดสามารถใช้แอปของคุณในทางที่ผิดได้หากคุณไม่มีการตรวจสอบด้านไคลเอนต์
Umair

6

ถ้าเป็นเช่นนั้นจริงหรือไม่

ใช่.

คุณเป็นวิศวกรหรือเปล่า

เลขที่

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

แบ็คเอนด์สามารถใช้งานได้หลายฟรอนต์เอ็นด์ และเป็นเพียงการตรวจสอบสำหรับแผนสำรอง HTML เท่านั้น (ไม่มีจาวาสคริปต์)


6

หนึ่งในปัจจัยพื้นฐานแรกที่ฉันเรียนรู้เกี่ยวกับความปลอดภัยคือแฮกเกอร์จะไม่ใช้ UI ของคุณ

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

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


+1, ฉันได้เห็นตัวอย่างมากมายที่การตรวจสอบเสร็จสมบูรณ์ในฝั่งไคลเอ็นต์
Karl

2

การตรวจสอบด้านเซิร์ฟเวอร์ควรน้อยที่สุด

และสำหรับอินพุตที่มีแนวโน้มว่าจะผิดคุณควรเพิ่มการตรวจสอบฝั่งไคลเอ็นต์

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


1
"การตรวจสอบว่าไม่เข้าใจ" เป็นการตรวจสอบที่ไม่ผ่านการตรวจสอบดังนั้นจึงไม่สามารถใช้งานได้ ทำความเข้าใจกับความแตกต่าง
billy.bob

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

1

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

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

2) ผู้ใช้พยายามที่จะข้ามการตรวจสอบฝั่งไคลเอ็นต์ของคุณโดยไม่ประสงค์ดีซึ่งเป็นเรื่องง่ายมาก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.