Tôi muốn thực hiện một ngôn ngữ kịch bản để hỗ trợ một phần tự động hóa các tác vụ nhất định trên một wiki công cộng. Tôi không thể cài đặt bất cứ thứ gì như Google Caja trên máy chủ hoặc sửa đổi phần mềm wiki, nhưng tôi có thể cài đặt mã JavaScript để thực thi phía máy khách. Bởi vì mục đích của tôi là cho phép người dùng thông thường tạo và đăng các tập lệnh, việc sử dụng chính JavaScript không an toàn và có thể dẫn đến sự thỏa hiệp tài khoản.Ngôn ngữ kịch bản đơn giản, an toàn được triển khai trong JavaScript?
Việc triển khai ngôn ngữ kịch bản đó có tồn tại hay không, liệu việc tạo ngôn ngữ đó có tương đối dễ dàng không? Trọng tâm của tôi là dễ xử lý văn bản, yêu cầu Ajax và triển khai.
Dưới đây là một nhiệm vụ dụ một kịch bản sẽ cần phải thực hiện, lấy từ Wikipedia's procedure for requesting article deletion:
- Hãy hỏi người dùng cho tên của một trang wiki và một lý do chính đáng để xóa nó.
- Nhận mã nguồn của trang đó, thêm thông báo xóa lên trên cùng và lưu văn bản mới.
- Tạo trang mới (tên của trang này dựa trên tên của trang đầu tiên) bao gồm lý do xóa.
- Nhận danh sách người dùng đã chỉnh sửa trang và thông báo cho trang đầu tiên (một lần nữa, bằng cách chỉnh sửa một trang cụ thể) mà trang mà anh đã tạo sắp bị xóa.
Nếu bạn muốn ngôn ngữ này có thể thực hiện yêu cầu ajax và truy cập/sửa đổi DOM, bạn không đạt được bất kỳ bảo mật nào chỉ trên JS (nếu nó không thể chạm vào DOM tho nó _might_ không thành vấn đề) – tobyodavies
ý tưởng không dành cho bất kỳ sửa đổi DOM tùy ý hoặc yêu cầu Ajax nào được phép, chỉ những yêu cầu tương đối "an toàn" và có thể dễ dàng hoàn tác sau khi người dùng được hiển thị danh sách các hành động được thực hiện. – PleaseStand
Tôi không hiểu chút nào. "Ngôn ngữ kịch bản" này có nghĩa vụ gì để có thể làm được? – Pointy