проблема безопасности, если вы используете eval () только с местными жителями? - PullRequest
0 голосов
/ 08 июня 2018

Итак, я загружаю некоторый «код» из базы данных.это в основном строковое представление некоторого класса.

, так что давайте скажем, что у вас есть собственный класс, который выглядит как MyClass(name=hello)

мой код будет выглядеть примерно так:

import MyClass
string_rep_of_class = 'MyClass(name=hello)'
eval(string_rep_of_class, {'__builtins__': None}, {'MyClass': MyClass})

потому что я не выставляю bultins, а только выставляю локальный MyClass, есть ли проблема безопасности, которую я пропускаю, или это довольно безопасный подход?

Спасибо

...