Определите, какой пакет КБ Центра обновления Windows kage, которому принадлежит конкретный файл ОС?

У меня есть компьютер Windows 7 , на котором установлен файл ucrtbase.dll Universal C Runtime. в версии 10.0.10586.1412 .

Однако последнее официальное обновление MS Update, которое я могу найти для исправления этого файла для Windows 7, - это KB3118401, которое содержит этот файл в версии 10.0.10586.9 .

На этом компьютере с Windows-7, как я могу узнать, в каком обновлении KB установлена ​​эта конкретная версия ucrtbase.dll ?

Я хотел бы решить эту проблему в общем виде , потому что у нас время от времени возникают проблемы с системными DLL-библиотеками Windows: в нашем отделе разработки у нас есть 5 разных версий Visual Studio, и поэтому время от времени случалось, что у одного разработчика была более новая версия некоторой DLL-библиотеки System32, и мы даже не были уверены откуда оно пришло.


Что я пробовал:

  • Сопоставление списка установки обновлений с дата создания файла.
    К сожалению, история исправлений, похоже, хранит только дату, и на дату создания этого файла на диске, мне кажется, установлено около 100 КБ исправлений. (Ожидается массовая установка исправлений на данный момент.)
  • Поиск в % WINDIR% \ WindowsUpdate.log - отметки времени начинаются после предполагаемой установки
  • Поиск в Google: безуспешно. Я нашел только KB3118401 и KB999226 (более старая версия).
  • Глядя на имя папки WinSxS указанного файла.
    • Например. папка WinSxS для 64-битной версии - amd64_microsoft-windows-ucrt_31bf3856ad364e35_6.1.7601.23303_none_0a7a73e149361a18 - Я не нашел, как это может помочь.
-121 ---104601] [запросы] по строке Я хотел бы заблокировать все запросы, начинающиеся с / search? q =, поскольку они создают нежелательную нагрузку на мой сервер. Следуя этому вопросу https://stackoverflow.com/questions/4640807/how-to-block-bot-requests-...

, я хотел бы заблокировать все запросы, начинающиеся с / search? Q = , поскольку они создают нежелательную нагрузку на мой сервер.

После этого вопроса https://stackoverflow.com/questions/4640807/how-to-block-bot-requests-to-urls-that-match-a -common-pattern-in-apache , я пробовал следующий код:

<Location />
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/search?q=[^/] [NC]
RewriteRule ^.*$ - [F,L]
</Location>

, но он блокирует слишком много URL-адресов (как и все, что начинается с поиска)

Я пробовал разные варианты, но они не работали. Каким будет правильный синтаксис?

2
задан 8 February 2019 в 13:27
1 ответ

но он блокирует слишком много urls (как и все, что начинается с поиска)

Код, который вы разместили, не сделает этого? На самом деле, код, который вы разместили, вряд ли будет что-то блокировать, если только в URL исходного запроса не был закодирован ? (т.е. %3F)?

Однако, чтобы соответствовать строке запроса (т.е. q=), тогда вам нужно найти совпадение с переменной сервера QUERY_STRING. Переменная Apache сервера REQUEST_URI содержит только путь URL (без строки запроса).

Таким образом, чтобы заблокировать все запросы, которые начинаются /поиск?q=, необходимо следующее:

RewriteCond %{QUERY_STRING} ^q=
RewriteRule ^/?search$ - [F]

Это гарантирует, что путь URL совпадает с /поиск, а строка запроса начинается со значения q=. Флаг

Флаг NC не требуется, если только в строке запроса не должно быть также совпадений с Q=.

Флаг L не требуется с флагом F, как это подразумевается.

UDPATE: Я поместил эти директивы непосредственно в конфигурацию сервера, потому что у меня на этом сервере много виртуальных хостов (сайтов), и я хотел бы, чтобы это правило применялось ко всем.

Вероятно, это ваша проблема. Директивы mod_rewrite в конфигурационном файле сервера по умолчанию переопределяются виртуальным хостом и фактически игнорируются. vHosts не унаследуют директивы mod_rewrite от конфигурационного сервера, если только вы специально не включите наследование mod_rewrite, что вы обычно делаете из контейнера vhost. Однако, в Apache 2.4.8+ это можно сделать в главном конфигурационном файле сервера (server context). Например:

RewriteOptions InheritDownBefore

InheritDownBefore гарантирует, что директивы в конфигурационном сервере выполняются до директив в vhost.

.
2
ответ дан 3 December 2019 в 11:23

Теги

Похожие вопросы