Iv'e в настоящее время работает над сравнительно небольшим проектом, с которым моя компания может поиграть, в основном это прокси в node.js, функции на данный момент относительно просты
- Кэширование
- Http (s)
- Черный список
- Настраиваемый
- и т. Д.
Я на этапе, когда я создаю черный списокsystem, и мой файл черного списка представляет собой простой файл, в котором каждый сайт, занесенный в черный список, должен находиться на одной строке.
Теперь черный список будет создан таким образом, чтобы вы могли использовать следующие значения черного списка:
- google.com
- google.com / path
- ww2.google.com / path
- 202.55.66.201
- 202.55.66. [100-200]
теперь в файле node.js, когда поступает запрос, у меня есть запрашиваемый URL-адрес со стороны клиента, после чего он будет найден в файле IP-кэша, если онне существует, он проверяется, и я получаю IP-адрес для этого запроса.
Так что несколько бипод рукой имеется информация, 1 - домен, 2 - IP, 3 - порт.
Теперь проблема в том, чтобы найти самый быстрый способ проверки этих значений в черном списке на основе файлов..
Поскольку эти значения не являются прямыми поисками, я не уверен, помещаю ли они затем в объект и выполняем:
if(ip in blacklist || domain in blacklist || fullUri in blacklist)
{
//block
}
Даже если бы я это сделал, это не было бы действительно полезно, так как я не могупроверьте диапазоны IP-адресов и т. д., в нем отсутствует поддержка более требовательных методов внесения в черный список сайтов.
Я думал о какой-то системе баз данных, но я хотел этого избежать, поэтому в основном я спрашиваю, есть ли какой-то способвыполнять подстановочный поиск в файле данных, не вызывая чрезмерных затрат.