Tôi chỉ đang nghiên cứu, tại sao sử dụng chức năng eval()
là xấu và tôi đã tìm thấy một lý do để dễ bị tấn công bằng mã tiêm (Đăng: Why is using the JavaScript eval function a bad idea?).Tại sao chúng ta nên biết Mã tiêm trong Javascript?
Nhưng câu hỏi của tôi là, chúng ta nhất thiết có cần phải lo lắng về việc tiêm mã trong javascript không? Bởi vì, nếu bất kỳ người dùng nào muốn chạy bất kỳ tập lệnh JS nào cho một trang web, anh ta có thể thực hiện điều đó bằng cách chạy trong bảng điều khiển.
Vì vậy, tôi chỉ tự hỏi, điều gì gây hại thêm nó có thể làm, nếu có ai thành công để tiêm mã của mình trong mã javascript của tôi?
EDIT
Dựa trên câu trả lời của Oleander dưới đây, tôi tìm thấy một cách để dễ bị tổn thương khi chúng tôi có thông tin liên lạc giữa trình duyệt và máy chủ thông qua AJAX gọi. Điều đó có ý nghĩa hoàn hảo. Nhưng tôi có thể có các chương trình Javascript chỉ chạy trong trình duyệt và không có bất kỳ liên lạc nào với chương trình phụ trợ, ví dụ như Máy tính hoặc Trò chơi đơn giản. Vì vậy, câu hỏi bổ sung của tôi ở đây, là có bất kỳ lý do khác mà có thể làm cho các chương trình này dễ bị tổn thương quá?
Việc tiêm mã có hại khi chúng được tạo bởi người khác ngoài người dùng. Bạn có chắc người dùng của mình là người duy nhất kiểm soát đối số của 'eval' không? – Bergi
Khi tôi nói về javascript, nó phải là người dùng, chỉ có thể sửa đổi các yếu tố đầu vào (trong biểu mẫu). Tôi không chắc chắn về bất kỳ cách nào khác.Bạn có ví dụ nào khác không? –
@TareqMahmood Tôi đã đăng một ví dụ – Oleander