Câu hỏi Điều gì làm cho javascript nguy hiểm? Điều gì sử dụng javascript đó có thể được sử dụng như? [đã đóng]


Tôi đã được dabbling xung quanh với javascript cho vui. Tôi tiếp tục tự hỏi tại sao có một số người không thích javascript vì nó có thể dễ dàng bị lạm dụng hoặc bị viết sai. Sau đó, có một số người thích javascript vì nó là một ngôn ngữ mạnh mẽ và rất hữu ích cho các mục đích khác nhau.


7
2018-06-30 14:04


gốc


Nó hoàn toàn an toàn, miễn là bạn đừng viết bất kỳ Javascript nào sau nửa đêm. Mày đã được cảnh báo! - karim79


Các câu trả lời:


Douglas Crockford có một loạt bài giảng hướng bạn vào những phần hay của JavaScript và những gì cần tránh xa:

Một số thứ làm cho JavaScript trở thành một ngôn ngữ tốt bao gồm:

  • Nó bị ảnh hưởng mạnh mẽ bởi Lisp và đã đóng cửa và tốt nhất chức năng lớp học đầu tiên.
  • Nó có đối tượng theo nghĩa đen và ký hiệu danh sách, làm cho nó rất dễ dàng để xác định các cấu trúc dữ liệu một cách khai báo.
  • Nó có sẵn về cơ bản mọi trình duyệt mà không có bất kỳ loại trình cắm nào.
  • Gõ vịt.
  • Nguyên mẫu thừa kế.

Một số điều xấu bao gồm:

  • Các dấu chấm phẩy tùy chọn để chấm dứt câu lệnh dẫn đến khó tìm lỗi.
  • Tự động ép buộc loại dẫn đến khó tìm lỗi.
  • Một không gian tên chung duy nhất được chia sẻ bởi tất cả các tập lệnh đang chạy cho một trang có thể sử dụng lại và duy trì một cơn ác mộng.
  • Tự động tạo / tạo tên trong không gian tên toàn cầu số ít khi các biến cục bộ được khai báo không đúng.
  • Một cách ngớ ngẩn để sử dụng thừa kế nguyên mẫu có thể dẫn đến lỗi lạ khi bạn quên sử dụng new.
  • Sự không tương thích giữa các triển khai hàng đầu.

... nhưng ở đó mẫu có thể trợ giúp các vấn đề về không gian tên, có trình biên dịch điều đó sẽ giúp bạn tránh được một số công cụ khuyến khích lỗi và khuôn khổ điều đó sẽ giúp bạn tránh những thứ không tương thích.

Với sự quan tâm, bạn có thể gắn bó với các phần của JavaScript làm cho nó trở thành một ngôn ngữ mạnh mẽ và dễ chịu.


6
2018-06-30 14:10



Kiểm tra một loạt các video tuyệt vời trên JavaScript của Douglas Crockford và những người khác. developer.yahoo.com/yui/theater  // Douglas Crockford - Ngôn ngữ lập trình JavaScript video.yahoo.com/video/play?vid=111593  // Douglas Crockford - JavaScript nâng cao video.yahoo.com/video/play?vid=111585  2 video trên mô tả các phần Tốt về Xấu và Xấu của JavaScript. - Leyu


Từ quan điểm của tác giả web:

Nếu một bên thứ ba có thể tiêm JavaScript vào trang web của bạn, họ có thể làm cho trình duyệt của người dùng làm bất cứ điều gì người dùng có thể làm. Điều này bao gồm gửi spam trang web, gửi chi tiết tên người dùng / mật khẩu / thẻ tín dụng cho bên thứ ba và rời khỏi trang web để truy cập và xem nội dung khiêu dâm.

Từ quan điểm của người dùng cuối:

Có một vài phiền toái nhỏ nhặt mà JavaScript có thể làm (chẳng hạn như thiết lập một vòng lặp vô tận của các thông điệp window.alert làm cho trình duyệt bị kẹt). Hạnh phúc, tôi không chạy qua chúng quá nhiều trong những ngày sau Geocities.

Một tỷ lệ lớn các lỗ hổng bảo mật trong trình duyệt có liên quan đến các công cụ JS. Là một vectơ tấn công để giới thiệu virus, khai thác JavaScript khá phổ biến. (Đây là những lỗi với trình duyệt, chứ không phải với chính JS).


3
2018-06-30 14:32





Javascript có thể được sử dụng cho các cuộc tấn công kịch bản trang web chéo, mà tiêm mã độc vào một trang web. Xem bài viết trên Wikipedia này


1
2018-06-30 14:08



Đúng, nhưng bản thân javascript thường không phải là thủ phạm ở đây - thiết kế tồi và thiếu xác minh dữ liệu phía máy chủ là phổ biến hơn nhiều (thường được giới thiệu bởi vì quá nhiều javascript). - jwoolard
@jwoolard; hoàn toàn đúng, nhưng những lỗ hổng bảo mật đó sẽ không được lỗ hổng bảo mật mà không có thứ gì đó để khai thác chúng. - Mathew


Javascript mỗi se không nguy hiểm. Trong thực tế, nó tương đối 'an toàn' như xa như ngôn ngữ đi. Bạn không thể thùng rác một số máy tính với nó, bạn sẽ gặp khó khăn ngay cả khi khóa máy tính.

Tuy nhiên, javascript cũng là một nguồn liên tục của tai ương an ninh. Đây không phải là (thường) bởi vì các nhà phát triển javascript viết mã xấu, nhưng bởi vì các lỗi tinh vi trong các trình duyệt chạy mã.

nói chung, javascript là về an toàn như lập trình được, và nó có thể làm cho tất cả sự khác biệt cho hầu như bất kỳ trang web. Đừng lo lắng về mã javascript của bạn đang nguy hiểm 9unless, tất nhiên, bạn muốn nó được ;-).


1
2018-06-30 14:11





Tôi nghĩ rằng những người chưa sử dụng một khung công tác như jQuery hay MooTools sẽ ghét JavaScript vì rất khó để viết tốt, gỡ lỗi và làm việc trên tất cả các trình duyệt phổ biến.

Tôi biết điều này bởi vì đó là chính xác như thế nào tôi cảm thấy trước khi tôi phát hiện ra jQuery - bây giờ JavaScript là một niềm vui để viết.


0
2018-06-30 14:08



Các vấn đề liên quan đến trình duyệt có ít liên quan đến javascript, ngôn ngữ. Đó là DOM là vấn đề lớn. - Joeri Sebrechts
Đúng, nhưng ai không viết JavaScript cho trình duyệt? - Matthew Groves