Опасен ли Kotlin eval ()? - PullRequest
       16

Опасен ли Kotlin eval ()?

2 голосов
/ 10 ноября 2019

Я прочитал в документации по Javascript :

eval () - опасная функция, которая выполняет код, который передается с привилегиями вызывающей стороны. Если вы запустите eval () со строкой, на которую может повлиять злоумышленник, вы можете в конечном итоге запустить вредоносный код на компьютере пользователя с разрешениями вашей веб-страницы / расширения.

Мой вопрос: это то же самое в Котлине? Если да, то почему он был реализован, считая Kotlin более продвинутым и современным языком?

1 Ответ

4 голосов
/ 10 ноября 2019

При использовании Kotlin для проектов JavaScript код Kotlin будет преобразован в код JavaScript. Для обеспечения полной совместимости также доступно eval(). И чтобы ответить на главный вопрос:

Да, eval(), используемый в коде Kotlin, столь же опасен, как и его использование в коде JavaScript , и его следует избегать по тем же причинам, которые вы уже упоминали в своемвопрос.

При использовании Kotlin для проекта на основе JVM или собственного проекта у вас нет доступа к функции eval, поскольку она совместима только с JavaScript.

...