Tôi có các tùy chọn nào để sử dụng cùng một mã JavaScript để xác thực cả ở phía máy khách và phía máy chủ (Node.js)?Xác thực JavaScript hoạt động trên cả máy khách và máy chủ Node.js?
Trả lời
Không, bạn đang xác thực các tiêu chí hoàn toàn khác nhau ở phía máy chủ. Xác nhận phía máy khách hoàn toàn là tiêu chí chấp nhận của người dùng và không liên quan gì tới bảo mật. Xác thực phía máy chủ hầu như chỉ quan tâm đến bảo mật.
Tôi không đồng ý. Bỏ qua XSS và tiêm khác, tôi vẫn muốn xác nhận rằng một trường biểu mẫu là ký tự X dài và là một mã bưu điện. Nếu không thì sẽ không có gì ngăn cản tôi đi vào Firebug và thay đổi các giá trị được gửi đến máy chủ. Và việc sử dụng JavaScript cả trên máy khách và trên máy chủ sẽ có nghĩa là sử dụng lại mã. Nó sẽ là ngớ ngẩn không. –
XSS và các lỗ hổng tiêm khác không thể bỏ qua, do đó, quan điểm của bạn không liên quan. – austincheney
Tôi nghĩ rằng quan điểm của anh ta có vẻ hợp lệ. Tôi muốn xác minh rằng email là một email trên cả máy khách và máy chủ mà không cần viết chính xác cùng một mã trong cùng một ngôn ngữ chính xác hai lần. Xem đá quý đường ray này cho một ví dụ: https://github.com/bcardarella/client_side_validations – rgbrgb
Hãy xem revalidator. Nó được mô tả là "Trình xác thực cross-browser/node.js được sử dụng bởi resourceful và flatiron."
- 1. Bảo mật và xác thực máy khách-Máy chủ
- 2. Trò chơi máy khách và máy chủ Node.js bằng Telnet
- 3. Kiến trúc AJAX và Máy khách-Máy chủ với JavaScript
- 4. Thực hiện xác thực Facebook: Phía máy khách và phía máy chủ
- 5. Cách xác thực đúng máy khách AngularJS với máy chủ
- 6. Làm cách nào để sử dụng quy tắc xác thực trên cả phía máy khách và phía máy chủ?
- 7. Thuật ngữ Máy khách và Máy chủ
- 8. ASP.NET: Đồng bộ hóa quy tắc xác thực phía máy khách và phía máy chủ
- 9. NoRouteToHostException trên máy khách hoặc máy chủ?
- 10. Mã hóa JSON hoặc YAML trong GWT/Java trên cả máy khách và máy chủ
- 11. Thoát khỏi máy chủ Node.js đang hoạt động trong linux
- 12. Làm cách nào để tôi viết một ứng dụng web node.js với cả mã phía máy chủ và máy khách?
- 13. string.replace không hoạt động trong máy chủ tốc độ node.js
- 14. Xác thực phía máy khách ASP.NET MVC 2 RC không hoạt động
- 15. Làm cho ứng dụng Backbone.js trên máy chủ VÀ máy khách
- 16. Xuất bản máy chủ Node.JS trên Internet
- 17. Emberjs, phía máy chủ và phía máy khách, Tất cả trong?
- 18. Làm cách nào để giữ máy khách Android được kết nối với máy chủ ngay cả khi thay đổi hoạt động và gửi dữ liệu đến máy chủ?
- 19. COMET (máy chủ đẩy tới máy khách) trên iPhone
- 20. Xác thực người dùng G + ở phía máy chủ, sau khi đăng nhập phía máy khách
- 21. Tại sao Java trên Máy chủ và C# trên Máy khách là lựa chọn phổ biến?
- 22. Tạo xác nhận hợp lệ phía máy khách và phía máy chủ trong Symfony2
- 23. ASP.Net 4.5 Twitter Bootstrap và Xác thực Phía Máy khách
- 24. Vấn đề xác thực máy khách TinyMCE
- 25. Ứng dụng máy khách/máy chủ Cocoa
- 26. Có thể thiết lập ứng dụng khách socket.io đang chạy (phía máy chủ) trên máy chủ node.js không?
- 27. Xác thực phía máy chủ Breeze
- 28. WebSockets cho Android trong ứng dụng Phonegap với máy chủ & máy khách Node.js/Socket.IO
- 29. Là phía máy khách xác thực JSF hay phía máy chủ?
- 30. Xác thực nhập của người dùng, phía máy khách hoặc phía máy chủ? [PHP/JS]
Tôi đã kết thúc bằng văn bản xác thực của riêng mình. Về cơ bản, tôi có một mô hình, ví dụ: Người đã xác thực trên đó. Mô hình Person này tồn tại cả trên máy khách và máy chủ. Khi người dùng nhập chi tiết vào FORM của tôi, tôi điền đối tượng Person và xác thực nó, đưa ra phản hồi cho các trường không chính xác. Khi biểu mẫu được POST trở lại máy chủ, tôi điền lại đối tượng Person và xác nhận lại với các giá trị nhận được từ máy khách. Nếu có lỗi, tôi chỉ cần gửi lại cho khách hàng. Bằng cách này tôi có thể tái sử dụng cùng một mô hình cả trên máy khách và máy chủ, chạy thử nghiệm đơn vị và hiển thị lỗi với jquery. –