輸出:
eval函數的聲明為eval(expression[,globals[,locals]])。其中,第二三個參數分別指定能夠在eval中執行的方法等。如果不指定,默認為globals()和locals()函數中包含的模塊和函數,這就使得eval方法存在一定的安全風險。
比如通過eval執行"__import__('os').system('dir')",能夠獲取文件目錄,進一步可以獲取文件內容以及執行刪除等操作。這里不展開討論了,建議使用ast.literal_eval()。
輸出:
輸出:
eval函數的聲明為eval(expression[,globals[,locals]])。其中,第二三個參數分別指定能夠在eval中執行的方法等。如果不指定,默認為globals()和locals()函數中包含的模塊和函數,這就使得eval方法存在一定的安全風險。
比如通過eval執行"__import__('os').system('dir')",能夠獲取文件目錄,進一步可以獲取文件內容以及執行刪除等操作。這里不展開討論了,建議使用ast.literal_eval()。
輸出: