Практически нет разницы между string
и System.String
, но все же String
строка ключевого слова C # отображается на тип .NET System.String
- это псевдоним, который соответствует соглашениям об именах языка.
Также string
является ключевым словом (псевдоним в данном случае), тогда как String
является типом.
Примечание. Если вы используете Visual Studio 2015 или + и пытаетесь использовать String
, программа предлагает вам «упростить код», перенеся его в string
, чтобы вы могли избежать Системы. Струна и идти со строкой без проблем.
Очевидно, TEX может открыть и записать файлы посредством нормального функционирования, которое является возможным вектором атаки. Помещение выполнения в песочницу или тюрьму должно заботиться об этом.
Обязательно отключите \write18
, который позволяет исходному файлу TEX выполнять команды ОС. Нет никакого серьезного основания позволить тот механизм.
Что касается самого интерпретатора TEX, я сказал бы, что существует очень мало для волнения о том, поскольку он, вероятно, имеет младшее значащее количество ошибки любого полнофункционального интерпретатора, когда-либо записанного. Некоторая другая часть Вашего стека будет намного большей целью.
Если Ваше распределение TEX пользуется библиотекой Kpathsea (это, вероятно, делает), посмотрите раздел безопасности в его документации.
В теории, да.
Это зависит от Вашего интерпретатора TEX. Если нарушение защиты найдено в интерпретаторе, Вы используете и что нарушение защиты означает, что пользователь может выполнить произвольный код затем, у Вас есть проблема.