Chúng tôi có thể xác thực phía máy chủ bằng javascript không?
Nhiều lần cần xác thực cả máy khách và máy chủ. Công cụ này làm cho nó trở nên dễ dàng và bạn không bị ràng buộc với bất kỳ khung phía máy chủ cụ thể nào Show
Phiếu đăng ký mẫuNhập các giá trị xấu rồi nhấn nút gửi Gửi biểu mẫu Đặt lạibản trình diễn độc lậpỞ đây, chúng tôi thêm phần thiết lập tối thiểu của mình với một số xác thực phía máy chủ. Trên máy chủ, chúng tôi đã xác định rằng các trường tên và tuổi không bao giờ hợp lệ mã hóa JavaScriptĐây là cách chúng tôi làm điều đó. Trước tiên, chúng tôi khởi tạo xác thực phía máy khách bằng lệnh gọi trình xác nhận () và quảng cáo logic gửi biểu mẫu tùy chỉnh sau đó. Bạn có thể sử dụng phương thức isDefaultPrevented() trên đối tượng Sự kiện jQuery để kiểm tra xem xác thực phía máy khách có được thông qua hay không // initialize validator and add a custom form submission logic JavaScript Ở đây chúng tôi đã sử dụng một giá trị trả về đơn giản là true để chỉ ra rằng dữ liệu hợp lệ ở phía máy chủ. Bạn có thể làm bất cứ điều gì bạn muốn khi dữ liệu tốt. Ở đây chúng tôi đã thay thế nội dung biểu mẫu bằng trang phía máy chủ. Nếu dữ liệu không hợp lệ, chúng tôi sử dụng phương thức không hợp lệ để hiển thị lỗi cho người dùng. Phương thức không hợp lệ chấp nhận một đối số đối tượng là tên trường bị lỗi. Máy chủ thất bại. js là "logic" phía máy chủ của chúng tôi và nó luôn trả về như sau Bạn cần đặt khối tập lệnh sau mã HTML hoặc bạn có thể sử dụng cách khác $(document) của jQuery. sẵn sàng thực thi tập lệnh ngay khi Mô hình đối tượng tài liệu (DOM) của trang web được tải. Đọc thêm về điều đó từ Hướng dẫn sử dụng Câu hỏi liệu xác thực đầu vào nên được thực hiện ở phía máy khách hay phía máy chủ là câu hỏi đã được tranh luận hết lần này đến lần khác. Cả hai phương pháp đều có ưu và nhược điểm, và cuối cùng quyết định sử dụng phương pháp nào phụ thuộc vào tình huống cụ thể. Khi các ứng dụng web được phát triển, đầu vào nhận được từ máy khách thường được lưu trữ hoặc phản ánh lại cho người dùng. Sau đó, khi ý nghĩa bảo mật được phát hiện, người ta hiểu rằng đầu vào cần được xác thực. Sau đó, các nhà phát triển được khuyên nên hạn chế hoặc làm sạch đầu vào của người dùng Trong khi một số nhà phát triển chỉ xác thực ở phía máy khách (e. g. , JavaScript), một số chỉ xác thực ở phía máy chủ, trong khi một số khác xác thực trên cả hai. Dưới đây sẽ chia nhỏ từng loại để bạn hiểu tầm quan trọng của nó Xác thực đầu vào ở phía máy kháchXác thực phía máy khách được hiển thị cho người dùng. Nó liên quan đến việc xác thực trên các biểu mẫu đầu vào thông qua JavaScript. Ví dụ: nếu đầu vào được gửi cho số điện thoại hoặc email, trình xác thực JavaScript sẽ báo lỗi nếu bất kỳ thứ gì được gửi không phù hợp với số điện thoại hoặc email. Ví dụ, bên dưới chúng ta sẽ xem cách có thể dễ dàng thay đổi các hạn chế phía máy khách Biểu mẫu sau sẽ chỉ được gửi nếu cụm từ “thành công” được gửi Hình 1. Xác thực đầu vào phía máy khách, Giai đoạn 1 Tuy nhiên, một lỗi mã thông báo được hiển thị khi "thành công" được gửi Hình 2. Xác thực đầu vào phía máy khách, Giai đoạn 2 Điều này có nghĩa là yêu cầu đang gửi mã thông báo ngoài cụm từ. Để xem những gì đang được thực hiện, chúng ta có thể xem xét yêu cầu bằng proxy chặn (chẳng hạn như Burp Proxy) Hình 3. Xác thực đầu vào phía máy khách, Giai đoạn 3 Bây giờ chúng tôi đã xác nhận những nghi ngờ của mình, chúng tôi cần hiểu những gì đang được sử dụng để tạo mã thông báo. Do JavaScript được cung cấp cho chúng tôi để điền vào trang, chúng tôi có thể dễ dàng xem mã
Đoạn mã trên sẽ lấy cụm từ từ hộp nhập, chạy nó thông qua một mật mã thay thế đơn giản (rot13) và sau đó md5 nó. Chúng tôi có thể xác nhận điều này bằng cách lấy cụm từ “ChangeMe” và chạy nó thông qua thay thế rot13 sẽ hiển thị cho chúng tôi “PunatrZr”. Hàm băm của “PunatrZr” là 8b479aefbd90795395b3e7089ae0dc09, khớp với mã thông báo trong yêu cầu ở trên Nếu cụm từ “success” được gửi thành công, chúng tôi sẽ cần thực hiện các bước tương tự như chúng tôi đã làm cho “ChangeMe”
Bước tiếp theo sẽ là chặn yêu cầu trước khi nó được gửi đến máy chủ và sửa đổi mã thông báo thành 38581812b435834ebf84ebcc2c6424d6 hinh 4. Xác thực đầu vào phía máy khách, Giai đoạn 4 Sau khi gửi, chúng tôi sẽ nhận được xác nhận rằng nó đã thành công Hình 5. Xác thực đầu vào phía máy khách, Giai đoạn 5 – Đã bỏ qua JavaScript phải có thể truy cập được bởi trình duyệt (và do đó là người dùng) để đảm bảo ứng dụng web hoạt động bình thường. Như đã thấy ở trên, bất kỳ hạn chế nào cũng có thể được đảo ngược kỹ thuật nhanh chóng hoặc thậm chí bỏ qua hoàn toàn Xác thực đầu vào ở phía máy chủXác thực đầu vào phía máy chủ sẽ lấy bất cứ thứ gì được gửi bởi máy khách và tiến hành kiểm tra bổ sung. Sử dụng xác thực phía máy chủ cho biết rằng mọi thông tin đầu vào do người dùng (hoặc máy khách) gửi đều không thể tin cậy được Để cho thấy mức độ hiệu quả của điều này, biểu mẫu sau đây dễ bị tấn công bởi Cross-Site Scripting Hình 6. Xác thực đầu vào phía máy chủ, Giai đoạn 1 Nếu tải trọng JavaScript được gửi, hộp cảnh báo sẽ xuất hiện Hình 7. Xác thực đầu vào phía máy chủ, Giai đoạn 2 Điều này ngụ ý rằng yêu cầu đã được gửi đến máy chủ và được phản hồi lại cho máy khách mà không có bất kỳ xác thực nào. Trong các ví dụ này, chúng tôi có quyền truy cập vào mã nguồn cơ bản để xác thực khiếu nại của mình
Có nhiều cách tiếp cận có thể được thực hiện để xác thực từ phía máy chủ và một cách đơn giản có thể là xóa các thẻ JavaScript khi tên được gửi lại cho máy khách Tải trọng tương tự đã được gửi nhưng bây giờ hộp cảnh báo không được điền Hình 8. Xác thực đầu vào phía máy chủ, Giai đoạn 3 – Thất bại Nhìn vào nguồn, chúng tôi nhận thấy rằng bất kỳ sự hiện diện nào của thẻ script trong biến tên sẽ được thay thế
Bài Viết Liên QuanQuảng CáoCó thể bạn quan tâmToplist được quan tâm#1
Top 4 uống nước chanh sả mật ong có tác dụng gì 20236 tháng trước#2
Top 10 bài tập làm văn số 5 lớp 7 de 4 20236 tháng trước#3
Top 3 vừa chơi đã có tài khoản vương giả chap 1 20236 tháng trước#4
Top 6 anh sẽ on thôi cover phạm nguyên ngọc lyrics 20236 tháng trước#6
Top 7 hãy ra khỏi người đó đi hợp âm 20236 tháng trước#7
Top 6 giáo án thơ về thăm nhà bác 20236 tháng trước#8
Top 8 giáo án ngữ văn 6 cánh diều 20236 tháng trước#9
Top 9 tinh bột tham gia phản ứng nào 20236 tháng trướcQuảng cáoXem NhiềuQuảng cáoChúng tôiTrợ giúpBản quyền © 2021 Hàng Hiệu Inc.
|