Bạn có sử dụng cả kỹ thuật xác thực phía Máy khách và Máy chủ không?


10

Bạn có sử dụng cả hai kỹ thuật xác thực phía Máy khách và Máy chủ cạnh nhau khi xác thực đầu vào từ người dùng, ví dụ: thông qua biểu mẫu liên hệ không?

Nếu vậy, nó có thực sự cần thiết? Bạn có quá kỹ thuật?


Điều này thật thú vị: smashingmagazine.com/2009/07/07/
Khăn

Câu trả lời:


27

Vâng, và bạn nên.

Điều này duy trì phản hồi của người dùng ngay lập tức mà không bị lãng phí bài đăng trong khi cũng bảo vệ chống lại người dùng vô hiệu hóa JavaScript.

Đây là cách điều khiển xác thực ASP.NET hoạt động.

Nó chắc chắn không phải là kỹ thuật quá mức như sử dụng cái này mà không có cái kia có nhược điểm.


8
+1. Không có lý do cho việc không có imo xác thực phía máy chủ.
DBlackborough

11
Phía máy chủ là cần thiết, phía khách hàng là sự thuận tiện. Trong các ứng dụng web, bạn không thể tin vào xác nhận phía máy khách.
BillThor

@BillThor - Yup điều đó hoàn toàn chính xác
billy.bob

Người dùng thông minh chắc chắn có thể lạm dụng ứng dụng của bạn nếu bạn không có xác thực phía máy khách
Umair

6

Nếu vậy, nó có thực sự cần thiết?

Đúng.

Bạn có quá kỹ thuật?

Không.

Xác thực giao diện người dùng có thể cung cấp phản hồi ngay lập tức nếu đó là một giao diện phong phú.

Back-end có thể được sử dụng bởi nhiều front-end. Và đó là xác nhận duy nhất cho gói dự phòng chỉ có HTML (không có javascript).


6

Một trong những nguyên tắc cơ bản đầu tiên mà tôi học được về bảo mật là tin tặc sẽ không bao giờ sử dụng giao diện người dùng của bạn.

Bất kỳ xác thực phía máy khách nào thường có thể dễ dàng được bỏ qua trong các ứng dụng web nếu chúng có phiên bản cục bộ của biểu mẫu của bạn và sau đó gửi lại cho máy chủ của bạn.

Xác thực phía máy khách là điều tuyệt vời để cải thiện trải nghiệm người dùng của bạn và giảm các chuyến đi khứ hồi không cần thiết đến máy chủ để thực hiện xác thực.


+1, tôi đã thấy nhiều ví dụ trong đó việc xác thực được thực hiện hoàn toàn ở phía khách hàng
Karl

2

Xác nhận phía máy chủ nên ở mức tối thiểu.

Và đối với đầu vào có khả năng sai, bạn cũng nên thêm kiểm tra phía máy khách ..

Ví dụ: kiểm tra xem email có được định dạng chính xác ở cả phía máy khách và máy chủ hay không nhưng kiểm tra xem nó có duy nhất có thể là kiểm tra phía máy chủ không.


1
"Kiểm tra không đúng" là xác minh KHÔNG xác thực vì vậy điều này không áp dụng. Hiểu sự khác biệt.
billy.bob

2
Bạn thậm chí đã đọc những gì bạn đăng? Kiểm tra email đó là duy nhất xác nhận. Cheking, giả sử, email và mật khẩu là thông tin xác thực hợp lệ là xác minh. Trong mọi trường hợp, nó chỉ là một vấn đề thuật ngữ.
Andrea

1

Vâng, đó không phải là một ý tưởng tồi để sử dụng cả hai. Nếu lỗi đầu vào của người dùng đơn giản có thể bị bắt ở phía máy khách thì việc thông báo cho người dùng về những lỗi đó trước khi gửi dữ liệu và xử lý lỗi máy chủ của bạn là điều hợp lý. Ví dụ: nếu người dùng đã nhập một cái gì đó không giống địa chỉ email trong trường 'email' hoặc nhập một chuỗi chỉ dài 5 ký tự trong trường mật khẩu và bạn biết rằng trang web của bạn yêu cầu mật khẩu phải dài ít nhất 6 ký tự bạn nên nói với người dùng về nó trước khi gửi bất cứ điều gì đến máy chủ.

Điều quan trọng là cũng phải sao chép chính xác cùng một xác thực trên máy chủ vì 2 lý do: 1) nếu người dùng bị tắt Javascript thì sao?

2) Người dùng đã cố tình bỏ qua xác thực phía máy khách của bạn, điều này thực sự dễ dàng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.