Я хотел бы реализовать язык сценариев, чтобы помочь частично автоматизировать определенные задачи в общедоступной вики. Я не могу установить на сервере ничего такого, как Google Caja, или изменить собственное программное обеспечение вики, но я могу установить код JavaScript для выполнения на стороне клиента. Поскольку я хочу, чтобы обычные пользователи могли создавать и публиковать скрипты, использование самого JavaScript небезопасно и может привести к компрометации учетной записи.Простой, безопасный язык сценариев, реализованный в JavaScript?
Существует ли такая реализация языка сценариев, а если нет, ее относительно легко создать? Мое внимание сосредоточено на простоте обработки текста, запросах Ajax и реализации.
Вот пример задачи сценария необходимо будет выполнить, взятые из Wikipedia's procedure for requesting article deletion:
- Попросите пользователя для имени страницы вики и хороший повод, чтобы удалить его.
- Получите исходный код этой страницы, добавьте уведомление об удалении вверху и сохраните новый текст.
- Создайте новую страницу (ее имя, основанное на имени первой страницы), которое включает в себя причину удаления.
- Получите список пользователей, которые отредактировали страницу и уведомили первую (опять же, отредактировав конкретную страницу), что созданная им страница будет удалена.
Если вы хотите, чтобы этот язык мог выполнять запросы ajax и получать доступ/изменять DOM, вы не получаете никакой защиты только от JS (если он не может коснуться DOM tho it _might_ не будет проблемой) – tobyodavies
идея заключается не в том, чтобы любые произвольные модификации DOM или Ajax-запросы разрешались, а только те, которые относительно «безопасны» и могут быть легко отменены после того, как пользователю будет показан список действий, которые были фактически выполнены. – PleaseStand
Я вообще не понимаю. Что означает этот «язык сценариев», который должен быть способен? – Pointy