微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

上传文件问题 - 重构代码以不从受污染的、用户控制的数据构建路径

如何解决上传文件问题 - 重构代码以不从受污染的、用户控制的数据构建路径

我使用普通代码上传文件,但是当我使用函数 from multiprocessing import Process from time import sleep def func1(): a=1 while True: print("func1 up and running",a) a+=1 sleep(1) def func2(): A=1 while True: print("func2 up and running",A) A+=1 sleep(1) if __name__ == '__main__': proc1 = Process(target=func1()) proc1.start() proc2 = Process(target=func2()) proc2.start() 时,它显示了图像中的错误

error screenshot

  1. 第 1 点表示:该值可由用户控制。
  2. 第 2 点表示:传播污点值
  3. 第 3 点说:污点值用于执行安全敏感的 操作

查看我的代码

move_uploaded_file

解决方法

这是误报。 SonarQube 错误地将 $_FILES['attachment']['tmp_name'] 视为用户控制的数据。根据 PHP documentation$_FILES['userfile']['name'] 是用户控制的,但 $_FILES['userfile']['tmp_name'] 不是。

您可以在 SonarQube 中将此问题标记为误报。

此问题已在 SonarQube 8.6 中修复。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。