사용자가 입력 한 인자/값과 함께 파이썬의 format() 함수로 사용자가 입력 한 문자열을 포맷하는 것은 위험할까요? (예 : user_input_string.format(*user_input_args)
)python의 형식으로 사용자 입력을 허용합니까() 보안 위험이 있습니까?
1
A
답변
-1
사용자가 Python 표현을 입력하면 작업 자체가 위험하지 않습니다. eval
이 아닙니다.
결과가 SQL 데이터베이스로 이동하려는 경우 SQL 문자열을 작성하기 전에 결과를 인용해야합니다.
+0
이 답변은 사실이 아니며 잠재적으로 위험합니다. [here] (https://stackoverflow.com/questions/15356649/can-pythons-string-format-be-made-safe-for-untrusted-format-strings)를 참조하십시오. –
+0
아, 나는'user_input_string'을 알아 차리지 못했고 포맷팅 템플릿은 내 마음 속에 하드 코드되었다. 어쨌든, 템플릿 문자열은 대개 최종 사용자가 제공하지 않아야합니다. – glenfant
Define * risky * ... – Mangohero1
@JeremyMcGibbon 고마워, 검색 할 때 찾지 못했습니다. – Diagamma