2012-06-14 35 views
6

tôi đang học Backbone.js vào lúc này, vì vậy xin lỗi nếu câu hỏi của tôi là nooby :-PBackbone.js an

trong chương trình của tôi tôi kiểm tra dữ liệu của tôi tại server-side là đúng và vv ... nhưng tôi đã tự hỏi điều gì sẽ xảy ra nếu người dùng thay đổi dữ liệu được lưu trữ trong các mô hình bằng cách sử dụng Console trong FireBug ví dụ và thử .save() hoặc .fetch().

có cách nào để dừng các hành động như vậy không?

xem xét tất cả dữ liệu của tôi sẽ được lưu trữ trong mô hình và có thể dễ dàng được người dùng truy xuất, tôi không thực sự thoải mái khi sử dụng backbone.js, chỉ là tôi hoặc có gì đó sai ở đây?

+0

Không, bạn không thể dừng bất kỳ thứ gì ở phía máy khách (xương sống hay không), xác thực dữ liệu ở phía máy chủ. – Esailija

Trả lời

6

Một cách đơn giản và an toàn là bao gồm thông tin xác thực người dùng (tên người dùng và mật khẩu) vào mô hình của bạn và kiểm tra nó ở phía máy chủ cho mỗi cuộc gọi AJAX.

Để tránh quá nhiều yêu cầu bdd, bạn cũng có thể tạo một mảng liên quan là id => serial key cho mỗi người dùng đã đăng nhập ở phía máy chủ và trả lại fetch() trong quá trình xác thực auth, sau đó, kiểm tra xem id và khóa nối tiếp bạn đã tạo phù hợp với từng cuộc gọi AJAX.

6

nhưng tôi đã tự hỏi điều gì sẽ xảy ra nếu người dùng thay đổi dữ liệu được lưu trữ trong mô hình bằng cách sử dụng Console trong FireBug ví dụ và thử .save() hoặc .fetch().

Sau đó, dữ liệu thay đổi nội dung sẽ được gửi đến máy chủ

là có cách nào để ngăn chặn những hành động như vậy?

Không, bạn chỉ cần xử lý chúng giống như cách bạn xử lý với bất kỳ yêu cầu nào: Thực hiện xác thực/ủy quyền để đảm bảo rằng người dùng thực hiện yêu cầu được phép làm như vậy.

xem xét tất cả dữ liệu của tôi sẽ được lưu trữ trong các mô hình và có thể dễ dàng lấy ra bởi người sử dụng tôi không thực sự cảm thấy thoải mái sử dụng backbone.js

Sau đó, không sử dụng nó.

Nhưng đừng hoang tưởng về việc giữ bí mật dữ liệu nếu đó là nội dung bạn sẽ hiển thị cho người dùng nếu bạn không sử dụng khuôn khổ phía ứng dụng khách như backbond.

+0

có lẽ lý do im là hoang tưởng là tôi đã viết một số robot thu thập dữ liệu tìm nạp dữ liệu từ một số trang web cụ thể ... thành thật mà làm hết sức mình để ngăn chặn những rô bốt như vậy: - ?? –

5

xem xét tất cả dữ liệu của tôi sẽ được lưu trữ trong các mô hình và có thể dễ dàng lấy ra bởi người sử dụng tôi không thực sự cảm thấy thoải mái sử dụng backbone.js, là nó chỉ cho tôi hay là có cái gì sai ở đây?!

Bạn không làm gì sai, nhưng không sử dụng Backbone sẽ không làm cho trang web của bạn an toàn hơn. Ngay cả khi bạn không sử dụng Backbone, tôi có thể kích hoạt bảng điều khiển trong khi trên trang web của bạn và thực hiện bất kỳ yêu cầu ajax nào mà tôi muốn đến máy chủ của bạn. Nếu tôi muốn tiếp tục, tôi có thể xây dựng một ứng dụng tạo ra bất kỳ yêu cầu nào mà tôi muốn.

Không bảo mật thực có thể được triển khai phía máy khách. Đó là trách nhiệm của máy chủ bất kể bạn có đang sử dụng thứ gì đó như Backbone hay không.