【发布时间】:2023-02-04 12:36:53
【问题描述】:
尝试从 json 文件中读取 URL,该文件在 Coverity 报告中显示为污点(不受信任的数据源)。这个问题称为 URL 操作,我使用了 json 中的 URL 属性。 任何人都可以建议 wasys 来减轻 Coverity 报告中的 URL 操作错误。
【问题讨论】:
-
请提供足够的代码,以便其他人可以更好地理解或重现问题。
尝试从 json 文件中读取 URL,该文件在 Coverity 报告中显示为污点(不受信任的数据源)。这个问题称为 URL 操作,我使用了 json 中的 URL 属性。 任何人都可以建议 wasys 来减轻 Coverity 报告中的 URL 操作错误。
【问题讨论】:
这意味着您需要解析/验证 url 字符串。 您可以通过多种方式执行此操作 - 使用您自己的正则表达式,或使用专门构建的库(urllib、validators)。 例如:
from urllib.parse import urlparse
URL_TO_TEST = "https:/www.google.com"
result = urlparse(URL_TO_TEST)
if (result.scheme and result.netloc) is False:
raise ValueError("Invalid url string")
print(f"url: '{URL_TO_TEST}' is valid")
Snyk page for the same type of issue 提供了一些很好的信息。
【讨论】: