2015-10-28 6 views
0

У меня проблема, когда я использую «FileSystem.FileOpen». Я размещаю код ниже. Я получаю путь от пользователя, и я уже проверил путь до открытия файла. Тем не менее, я получаю тот же файл Manipulation Issue в HP Fortify.Я просматриваю код, используя 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); 
+1

Просьба уточнить вашу конкретную проблему или добавить дополнительные сведения, чтобы точно указать, что вам нужно. Как это написано в настоящее время, трудно точно сказать, что вы просите. См. Страницу [Как спросить] (http://stackoverflow.com/help/how-to-ask), чтобы помочь прояснить этот вопрос. – Marusyk

+0

Я изменил сообщение, надеюсь, что проблема сейчас понятна. –

+0

Пожалуйста, помогите, застрял здесь в течение двух дней –

ответ

0

Проверьте логику проверки, чтобы увидеть, если вы можете передать файл с именем:

../../../cmdshell.aspx

или

../../../web.config

манипуляция Путь все о перенаправлении сервера в нежелательное место для чтения и записи файлов. Не полагайтесь на права файловой системы.

+0

Код только принимает pdf-файлы. Я проверяю еще раз, где в коде, чтобы посмотреть, будет ли файл открыт, или нет. Но все-таки я получаю предупреждение Manage от Path of Hp Fortify. –

+0

Валидация файла - это другая категория Fortify. Ключ с Path Manip должен гарантировать, что вы не можете изменить местоположение. Если Path Manip вулканизован, если вы можете использовать ../ или найти подкаталоги, вы можете сделать плохие вещи. –