В дополнение к autocomplete=off
, у Вас могли также быть свои полевые названия формы быть рандомизированными кодом, который генерирует страницу, возможно, путем добавления некоторой определенной для сессии строки до конца имен.
, Когда форма отправлена, можно снять изоляцию с той части прежде, чем обработать их на стороне сервера. Это препятствовало бы тому, чтобы веб-браузер нашел контекст для Вашего поля и также могло бы помочь предотвратить нападения на XSRF, потому что взломщик не был бы в состоянии предположить имена полей для представления формы.
Этот фрагмент кода извлекает список всех логических дисков на машине, а затем ищет во всех папках на диске файлы, соответствующие имени файла «Cheese.exe». После завершения цикла List «files» будет содержать
var files = new List<string>();
//@Stan R. suggested an improvement to handle floppy drives...
//foreach (DriveInfo d in DriveInfo.GetDrives())
foreach (DriveInfo d in DriveInfo.GetDrives().Where(x => x.IsReady == true))
{
files.AddRange(Directory.GetFiles(d.RootDirectory.FullName, "Cheese.exe", SearchOption.AllDirectories));
}
Если вы хотите узнать немного больше о механике поиска в нескольких каталогах, поиск в Google показал этот пост . У него есть хорошее решение и объяснение самостоятельного просмотра каталогов. Вы можете изменить спецификацию файлов в Directory.GetFiles
, чтобы она соответствовала вашей строке поиска и, вероятно, использовать ее как есть.
К сожалению, ссылка сейчас мертва, но в двух словах решение в основном сводится к:
string[] files = Directory.GetFiles("C:\\Starting\\Path\\For\\Search\\",
"cheese.exe",
SearchOption.AllDirectories);
Обратите внимание, что спецификация файлов (второй параметр) принимает подстановочные знаки, поэтому вы также можете искать « .exe» или даже «. *» Для рекурсивного вывода всех файлов.