Бу - предотвращение произвольного импорта - PullRequest
2 голосов
/ 14 ноября 2011

В настоящее время я оцениваю кандидатов на язык сценариев приложения для размещения в приложении .Net и натолкнулся на Boo. Однако я изо всех сил пытаюсь увидеть из документации, будет ли в любом случае возможность запретить пользователю импортировать любое пространство имен .Net, которое он хочет, и, следовательно, иметь возможность делать гораздо более опасные вещи, чем я надеюсь из сценария.

Есть ли способ предотвратить это?

Могу ли я предоставить макрос импорта, который в настоящее время переопределяет ключевое слово импорта?

Звучит из документации, однако, как в макросах ищется только "Когда встречается неизвестная синтаксическая структура" . Возможно импорт уже является макросом в языке, так как они использовали макрос для других вещей, таких как печать, но он не говорит, что это так.

1 Ответ

1 голос
/ 22 ноября 2011

Предотвращение импорта не помешает кому-либо получить доступ к пространствам имен по полному пути, если проект уже ссылается на dll, содержащую это пространство имен, и System.Core содержит множество «опасных» вещей.

Сценарии изначально рискованны. Если, как и в большинстве сред сценариев, вы оставляете некоторую форму доступа к оболочке (File.Delete (), Process.Start () ...), тогда вы в значительной степени открыты для повреждения, непреднамеренного или иного.

Однако, стоит спросить в списке рассылки Boo , я уверен, у кого-то будет умная идея ...

...