함수 f()
는 프로그램을 실행하는 컴퓨터 eval()
에서 만들고 저장 한 데이터와 함께 사용합니다 (또는 위험한 것) local_file
.
import local_file
def f(str_to_eval):
# code....
# ....
eval(str_to_eval)
# ....
# ....
return None
a = f(local_file.some_str)
f()
내가 제공 한 문자열이 내 자신이기 때문에 실행하는 것이 안전합니다.
그러나 안전하지 않은 (예 : 사용자 입력) 무언가를 사용하기로 결정한 경우 상황이 크게 잘못 될 수 있습니다. 또한 local_file
로컬 중지가 중지 되면 해당 파일을 제공하는 시스템을 신뢰해야하기 때문에 취약점이 발생합니다.
이 기능이 사용하기에 안전하지 않다는 것을 "잊지"않도록하려면 어떻게해야합니까 (특정 기준이 충족되지 않는 한)?
참고 : eval()
위험하며 일반적 으로 안전한 것으로 교체 할 수 있습니다.