OWASP安全准则中讨论了此问题。根据应用程序的主机操作系统,解决方案可能会有所不同,但是以下是一些通用准则-
如果可能,请尝试避免从用户那里获取文件路径。在不要求用户输入服务器上路径的情况下,评估是否有其他解决方案。我没有您情况的完整背景,但是大多数情况下都是可以实现的。也许您可以根据用户ID将报告存储在服务器路径上,例如将user1文件示例存储在/ user / tmp / user1下,这将避免要求用户输入完整路径或绝对路径。
尽可能在服务器端验证用户输入。这将尽可能限制用户访问。例如,如果希望用户访问pdf,则添加验证以检查用户输入数据以.pdf结尾
切勿将用户输入直接传递到文件系统API。在将其发送到文件系统API之前,使用预定义的路径对其进行前缀。
确保您的文件系统API正在与受限制的操作系统用户一起读取/写入,这些用户可以访问仅存储该用户所需文件的特定路径。
OWASP安全准则中的一些通用准则如下:
如果可能,请尝试避免从用户那里获取文件路径。在不要求用户输入服务器上路径的情况下,评估是否有其他解决方案。也许可以根据用户ID将报告存储在服务器路径上,例如将user1文件示例存储在/ user / tmp / user1下,这将避免要求用户输入完整路径或绝对路径。
尽可能在服务器端验证用户输入。这将尽可能限制用户访问。例如,如果希望用户访问pdf,则添加验证以检查用户输入数据以.pdf结尾。
切勿将用户输入直接传递到文件系统API。在将其发送到文件系统API之前,使用预定义的路径对其进行前缀。
确保您的文件系统API正在与受限制的操作系统用户一起读取/写入,这些用户可以访问仅存储该用户所需文件的特定路径。
推荐文章