6
Pythonのeval()とast.literal_eval()を使用していますか?
eval()可能な解決策として考え出されたいくつかのコードの状況があります。今では、これまで使用する必要はありませんでしたeval()が、それが引き起こす可能性のある潜在的な危険性に関する多くの情報に出くわしました。そうは言っても、私はそれを使用することに非常に警戒しています。 私の状況は、ユーザーからの入力があるということです。 datamap = raw_input('Provide some data here: ') datamap辞書が必要な場所。私は周りを検索し、eval()これがうまくいくことがわかった。データを使用する前に、入力のタイプを確認できる可能性があると思いました。これは、実行可能なセキュリティ対策になるでしょう。 datamap = eval(raw_input('Provide some data here: ') if not isinstance(datamap, dict): return 私はドキュメントを読みましたが、これが安全かどうかはまだわかりません。入力された直後、またはdatamap変数が呼び出された直後にevalはデータを評価しますか? あるastモジュールの.literal_eval()唯一の安全なオプションは?