Я почти уверен, что это действительно вопрос с регулярным выражением, поэтому вы можете перейти к ВОПРОСУ REGEX, если хотите пропустить фон.
Нашим основным межсетевым экраном является Watchguard X750e с Fireware XTM v11.2. Мы используем веб-блокировщик для блокировки большинства категорий, и я разрешаю необходимые сайты по мере их появления. Некоторые сайты просто добавить в качестве исключений, например, радио Pandora. Это просто исключение по шаблону с "padnora.com/"в качестве шаблона. Разрешен любой трафик из любого места на pandora.com.
У меня проблемы с более сложными доменами, которые ссылаются на контент вне своих базовых доменов. Мы возьмем GrooveShark в качестве образца. Если вы пойдете в http://grooveshark.com/ и просмотрите исходный код страницы, вы увидите hrefs, относящиеся к gs-cdn.net, а также на grooveshar.com. Итак, добавив исключение WebBlocker в grooveshark.com/ неэффективен, и мне нужно добавить второе правило, разрешающее gs-cdn.net/ также.
Я вижу, что WebBlocker разрешает правила регулярных выражений, поэтому в подобных ситуациях я бы хотел создать одно правило регулярных выражений, которое разрешает трафик для всех необходимых доменов.
ВОПРОС REGEX: я хотел бы попробовать регулярное выражение, которое соответствует grooveshark.com/ и gs-cdn.net/. Если кто-нибудь может помочь мне написать это регулярное выражение, я был бы признателен.
Вот что содержится в документации WatchGuard из этого раздела: Регулярное выражение
Для сопоставления регулярных выражений используется регулярное выражение, совместимое с Perl. Например,. [Onc] [eor] [gtm] соответствует .org, .net, .com или любой другой трехбуквенной комбинации одной буквы из каждой скобки по порядку. Не забудьте опустить начальный «http: //». Поддерживает подстановочные знаки, используемые в сценарии оболочки. Например, выражение «(www) ?. watchguard. [Com | org | net]» будет соответствовать путям URL, включая www.watchguard.com, www.watchguard.net и www.watchguard.org.
Спасибо всем!
Не надо. Нет ничего плохого в добавлении нескольких разрешающих правил к вашему веб-фильтру, и ваш преемник поблагодарит вас за удобочитаемость. Достаточно пары разрешающих правил домена.
Я делаю то же самое на своем Watchguard.
Вот используемое мной регулярное выражение, отредактированное в соответствии с доменами, с которыми вы работаете.
(?i)^([^./]+\.)*(grooveshark\.com|gs-cdn\.net)(?![^/])
Я не уверен, собирались ли вы оставить k off grooveshark в какой-то момент вашего вопроса или это была просто опечатка. Если бы они иногда использовали grooveshar.com, вам понадобилось бы следующее:
(?i)^([^./]+\.)*(grooveshark?\.com|gs-cdn\.net)(?![^/])
? после k просто делает это ненужным.
я очень рекомендую Тренер Regex чтобы помочь вам создать регулярное выражение.
Я также очень рекомендую http://www.regular-expressions.info/ в качестве справки.