C# 我正在使用HP fortify扫描代码。尝试打开文件时,出现路径操作错误

C# 我正在使用HP fortify扫描代码。尝试打开文件时,出现路径操作错误,c#,fortify,C#,Fortify,我在使用“FileSystem.FileOpen”时遇到了这个问题。我把代码贴在下面。我正在从用户处获取路径,并且在打开文件之前已经验证了路径。我仍然在HP Fortify中遇到同样的文件操作问题 if ((File.Exists(moFrmIntComplaint.lblFilePath.Text)) && moFrmIntComplaint.lblFilePath.Text.IndexOfAny(System.IO.Path.GetInvalidPathChars()) &g

我在使用“FileSystem.FileOpen”时遇到了这个问题。我把代码贴在下面。我正在从用户处获取路径,并且在打开文件之前已经验证了路径。我仍然在HP Fortify中遇到同样的文件操作问题

if ((File.Exists(moFrmIntComplaint.lblFilePath.Text)) && moFrmIntComplaint.lblFilePath.Text.IndexOfAny(System.IO.Path.GetInvalidPathChars()) >= 0)
                {
                    sFilePath = moFrmIntComplaint.lblFilePath.Text;
                    sFileName = Path.GetFileName(sFilePath);//moFrmIntComplaint.lblFileName.Text;
                    sFileDirectory = Path.GetDirectoryName(sFilePath);
                }
                if ((String.IsNullOrEmpty(sFilePath.Trim(' ')) == false) && (File.Exists(moFrmIntComplaint.lblFilePath.Text)) && (moFrmIntComplaint.lblFilePath.Text.IndexOfAny(System.IO.Path.GetInvalidPathChars()) >= 0) && !string.IsNullOrEmpty(moFrmIntComplaint.lblFilePath.Text))
                {
                    lFilePtr = FileSystem.FreeFile();
                    FileSystem.FileOpen(lFilePtr, sFilePath, OpenMode.Binary, OpenAccess.Read, OpenShare.Default, -1);
                    lFileSize = (int)FileSystem.LOF(lFilePtr);

检查验证逻辑,查看是否可以传递名为:

。/../../cmdshell.aspx

。/../../web.config


路径操作就是将服务器重定向到不需要的位置进行文件读写。不要依赖文件系统权限。

请澄清您的具体问题或添加其他详细信息,以突出显示您所需的内容。正如目前所写的,很难准确地说出你在问什么。请参阅页面以获取澄清此问题的帮助。我已修改了此帖子,希望问题现在已经解决。请提供帮助,在这里停留两天代码仅接受pdf文件。我正在检查代码中的其他位置,以查看要打开的文件是否为pdf。但我仍然收到来自Hp Fortify的路径操作警告。文件验证是另一个Fortify类别。使用路径操纵器的关键是确保您不能更改位置。如果您可以使用..或找出子目录,那么使用Path Manip vulns,您可能会导致不好的事情发生。