Nhiều lần tôi làm một số điều kỳ lạ khi sử dụng jquery ajax
. Ý tôi là, tôi giữ một biến ẩn chứa id
và sau đó khi ai đó nhấp vào button
, tôi chạy một hàm javascript để chuyển yêu cầu ajax cùng với id
được chứa trong hidden field
. Điều này có bình thường không? Nếu ai đó sử dụng firebug
hoặc bất kỳ công cụ nào như vậy và thay đổi chức năng javascript
và chuyển một số khác ids
? Nó sẽ cập nhật và xóa các bản ghi khác có thể không thuộc về người dùng đó? Làm thế nào để tất cả các bạn xử lý này?Ai có thể hack yêu cầu ajax của tôi trong jquery không?
Trả lời
Bạn cần để bảo vệ phía máy chủ này, bạn không thể bảo vệ nó ở phía máy khách, cũng không nên bạn.
JavaScript có thể xem, thực thi, động, mở ... đó là mọi thứ bạn muốn khi làm ... tốt, bất cứ điều gì bạn muốn với nó, điều rất xấu cho bảo mật. Bạn cần phải kiểm tra id được thông qua dựa vào những gì người dùng có quyền truy cập vào máy chủ khi xử lý yêu cầu.
Bất cứ điều gì, và tôi có nghĩa bất cứ điều gì bạn làm trên máy khách là một răn đe, không phải là một giải pháp , và thực sự không có răn đe JavaScript hiệu quả mà tôi từng thấy. Ngay cả khi bạn có thể bảo mật, tôi chỉ có thể mở Firebug, Fiddler, Wireshark, bảng điều khiển Chrome hoặc một trong hàng tá công cụ khác để xem yêu cầu nào cuối cùng vẫn gửi đi.
Không bao giờ tin tưởng đầu vào của người dùng của bạn: xác thực id trên máy chủ.
Bạn nên luôn kiểm tra đầu vào ở phía máy chủ khi dữ liệu được gửi. Ví dụ: nếu người dùng đang chỉnh sửa tiểu sử của họ trên trang web, bạn sẽ không đặt ID tiểu sử trong biến ẩn, bạn sẽ lấy được ID tiểu sử dựa trên cookie/phiên người dùng khi dữ liệu được gửi. Cụm từ chính là hoàn toàn không bao giờ tin tưởng khách hàng.
Xin chào Fosco, tôi đã nhận bạn. Và tôi đang làm điều đó chỉ khi đó là một kỷ lục duy nhất. Điều gì sẽ xảy ra nếu một số bảng được hiển thị trên trang có 10 bản ghi. Giả sử người dùng có quyền chỉnh sửa các album đó vì chúng là của riêng mình. Bây giờ những album này có id album riêng của họ. Làm thế nào để tôi xử lý này? Tôi có nên đổ tất cả id của album trong phiên và trong khi gửi kiểm tra id album không? Có rất nhiều trường hợp như vậy mà tôi cần bàn. Tôi có nên đặt tất cả các id trên mỗi phiên bản trong phiên? Nếu có, thì khi nào tôi nên đặt chúng trong phiên? Chỉ khi anh ta đăng nhập? Đó là bản chất có nghĩa là tôi nên tham gia không cần thiết mà là ... – TCM
không cần thiết khi người dùng đăng nhập? Tôi hy vọng tôi rõ ràng. Vui lòng cho tôi biết nếu tôi không rõ. – TCM
Nếu bạn có thể hiển thị các album là 'của anh ấy', thì bạn có thể xác định đó là 'anh ấy' khi gửi biểu mẫu. Bạn không cần lưu trữ thêm bất kỳ thứ gì trong phiên để thực hiện việc này. – Fosco
Bạn phải thực hiện xác thực phía máy chủ để đảm bảo rằng người dùng hiện tại được phép thực hiện tác vụ dựa trên người dùng và ngữ cảnh hiện tại. Như bạn đã lưu ý, bất kỳ ai có bằng chứng xác thực hợp lệ đều có thể sửa đổi các giá trị đang được chuyển lại - họ không cần sửa đổi mã của bạn, họ có thể chỉ cần tạo yêu cầu chứa bất kỳ loại giá trị nào họ muốn nếu họ có thông tin cookie chính xác.
- 1. Yêu cầu jQuery Ajax bên trong Yêu cầu Ajax
- 2. jQuery bài yêu cầu (không AJAX)
- 3. Nhiều yêu cầu AJAX trong jQuery
- 4. Yêu cầu jQuery ajax hoạt động, cùng yêu cầu AngularJS ajax không
- 5. không gian trống trong yêu cầu ajax với jquery
- 6. Yêu cầu jQuery AJAX không thành công trong IE
- 7. Chaining nhiều jQuery ajax yêu cầu
- 8. Yêu cầu gửi JQuery Ajax với node.js và thể hiện
- 9. Yêu cầu HEAD Ajax qua Javascript/jQuery
- 10. ajax jquery đơn giản get yêu cầu
- 11. Tại sao các yêu cầu .ajax JQuery của tôi không được thực hiện song song?
- 12. Kiểm tra trạng thái yêu cầu ajax của jQuery
- 13. jQuery: Thực hiện các yêu cầu ajax đồng thời, có thể không?
- 14. jQuery ajax sẽ không thực hiện các yêu cầu HTTPS
- 15. Hủy yêu cầu AJAX trên chuyến bay bằng Jquery .ajax?
- 16. bắt tất cả yêu cầu ajax trong jquery
- 17. Tại sao yêu cầu jquery ajax của tôi lại hoạt động nhiều lần?
- 18. Lưu dữ liệu từ yêu cầu AJAX trong biến (jQuery)
- 19. đèo mảng để yêu cầu ajax trong $ .ajax()
- 20. Yêu cầu JSON với JQuery/Ajax với Spring
- 21. yêu cầu ajax mùa xuân
- 22. yêu cầu django ajax
- 23. Gọi jQuery Ajax Yêu cầu Mỗi Phút X
- 24. Rò rỉ bộ nhớ với các yêu cầu AJAX + jQuery
- 25. Yêu cầu jQuery ajax bị hủy làm chậm yêu cầu hiện tại
- 26. Làm cách nào để gỡ lỗi yêu cầu jQuery Ajax?
- 27. Gọi lại yêu cầu AJAX bằng cách sử dụng jQuery
- 28. Hủy bỏ yêu cầu ajax JSONP với jQuery
- 29. Firebug không hiển thị yêu cầu ajax
- 30. jQuery điều chỉnh và xếp hàng các yêu cầu AJAX
Vì vậy, điều này có nghĩa là không có cách an toàn để gửi xmlHttpRequests? – adardesign
@adardesign - * Gửi *, chắc chắn, SSL chẳng hạn ... * những gì họ đang gửi, không, khách hàng có thể đẩy bất kỳ thứ gì vào đó và rất dễ dàng thay đổi những gì nó đang làm trong JavaScript. Không bao giờ tin tưởng đầu vào của bạn, xác minh nó :) –