2010-03-09 28 views
7

Có ý nghĩa với Javascript bị ám ảnh không? Những lợi ích rõ ràng duy nhất tôi có thể thấy là để ẩn mã (mặc dù không độc quyền trong tự nhiên vì nó là phía máy khách) từ con mắt tò mò và như là một minimizer vì thường xuyên obsfucators Javascript làm giảm thiểu là tốt.Quan sát có đáng giá không?

+2

Chỉ khi bạn vẫn đang sử dụng chức năng tải trước hình ảnh Dreamweaver :) – RedFilter

Trả lời

9

Tôi không nghĩ rằng JavaScript obfuscation là giá trị nỗ lực cho mục đích che giấu trong hầu hết các trường hợp chung. Tuy nhiên, minification đáng giá, vì nhiều lý do, như bạn đã đề cập, cũng có tác dụng phụ nhỏ của mã làm xáo trộn.

+0

+1 đồng ý về việc rút gọn, nhưng tôi thực sự chưa bao giờ viết nhiều mã đó ...nếu bạn có một số loại thư viện cỡ trung, tôi hoàn toàn đồng ý ... –

1

Vâng, nếu nó không phải là một số mã javascript cạnh cắt không nên dễ dàng sao chép và sao chép, và kịch bản không phải là quá lớn trong byte, tôi sẽ không làm phiền. Đó là một chút rắc rối để làm obfuscating mỗi khi bạn cần một triển khai, và lợi ích là nhỏ.

Tức là, tập lệnh không quá lớn và mã không được bảo vệ.

(thậm chí hoang mang không thực sự bảo vệ mã của bạn, chỉ cần làm cho nó ABIT khó hiểu)

1

Tôi đã sử dụng YUI Builder, tôi thấy nó tốt cho việc giảm kích thước của javascript một thỏa thuận tuyệt vời của tôi. Vì vậy, khía cạnh giảm thiểu của obfuscation là rất hữu ích trong chính nó.

Về an ninh, tôi đoán bất cứ điều gì bạn có thể làm để làm cho người dùng độc hại gặp khó khăn hơn trong việc tìm ra cách hoạt động của công cụ của bạn, bạn càng tốt.

Cuối cùng, hầu hết người quan sát sẽ cho bạn cảnh báo hoặc lỗi khi gặp javascript được viết kém và toàn bộ cũng sẽ cải thiện chất lượng mã của bạn.

Vì vậy, trong bản tóm tắt

Nhược điểm: Bạn gotta chạy obfuscator

Ưu điểm:

  1. file nhỏ hơn
  2. Harder cho người dùng nguy hiểm để tìm ra cách cụ của bạn hoạt động.
  3. javascript chất lượng cao hơn (nếu bạn nghe người quan sát viên).
+0

Tôi sẽ mở một câu hỏi khác trong SO, vì những gì tôi muốn thấy là một ISAPI/HttpHandler cho IIS 7 có thể làm tất cả trong một đi bao gồm việc giảm thiểu CSS bị ám ảnh. Cảm ơn. –

1

Tôi không nghĩ điều đó là đáng giá, bởi vì bất kỳ ai có đủ động lực để lấy mã của bạn vẫn có thể nhận được. Theo như giảm thiểu, tôi không bận tâm, vì gzip giảm thiểu sự cần thiết cho điều đó.

1

Làm xáo trộn là tác dụng phụ của việc giảm thiểu. Các biến, hàm, v.v. của bạn được đổi tên thành độ dài ngắn nhất có thể để tiết kiệm không gian. Nếu không, minimizers chỉ đơn giản là tẩy trắng không gian.

Mặc dù chắc chắn có thể cho biết mã của bạn đang làm gì ngay cả khi mã đã bị làm xáo trộn, sẽ khó khăn hơn nếu ai đó "tình cờ" xem mã của bạn.

1

Thư viện Dojo có thành phần được gọi là ShrinkSafe. Nó sẽ nén tệp JavaScript của bạn và sẽ làm xáo trộn mã một số. Bằng cách này, bạn có thể giữ bản gốc ở đâu đó và sau đó chỉ phát hành những bản gốc chạy qua ShrinkSafe.

Các vấn đề liên quan