2010-05-25 2 views
2

Ударил с некоторыми неприятными вредоносными программами javascript на моем сайте. Я знаю, что каждый нарушитель блок коды начинается со следующим:regex вопрос для удаления вредоносного кода javascript

<script language=javascript><!-- 
(function() 

и заканчивается

</script> 

Я хотел бы, чтобы удалить неприятные биты с помощью регулярных выражений на окнах, с помощью какого-то бесплатной замены регулярных выражений инструмент. Какие-нибудь предложения здесь? Спасибо много.

ответ

1

Возможно, вы захотите попробовать UltraEdit, у него есть встроенный поиск/замена регулярного выражения, который хорошо работает. Также я считаю, что демо работает 30 дней.

Если вы просто хотите, чтобы удалить все блоки Javascript из ваших страниц, вы бы искали:

<script language=javascript><!--[\s\S\p]+</script>

(\s = whitespace, \S = non-whitespace, \p = newline characters)

Убедитесь, что в поле регулярных выражений проверяется в поиске/replace.

Редактировать

Добавить в регулярное выражение, что после <script> должна следовать <!-- (я изменил пример выше), и вы получите только те <script> разделов, которые включают комментарий сразу же после открывающего тега.

+0

Спасибо, но мне нужно только удалить блок кода с комментарием открытия с помощью функции, а не всех блоков сценариев. – jeff

+0

Отредактированный пример, чтобы соответствовать тому, что вы ищете. – JYelton

1

Я думаю, вы должны использовать configure Privoxy (http://privoxy.org). Он использует библиотеку PCRE и доступен для Windows. Для того чтобы отфильтровать вы должны сделать следующее:

  1. В каталоге конфигурации Privoxy добавить

    FILTER: my-js-purger 
    [email protected]<script\s+language=javascript><!--\s+(function().*?</script>@@s 
    

    в user.filter файл,

  2. Добавить

    { +filter{my-js-purger} } 
    /
    

    в user.action файл (заменить / с именами o f, на которые вы хотите применить фильтр, или оставить его как есть, если вы хотите применить его ко всем сайтам).

  3. Убедитесь, что есть незакомментированная линия

    listen-address 127.0.0.1:8118 
    actionsfile user.action 
    filterfile user.filter 
    

    в config файле (я считаю, что это безопасно, чтобы просто добавить их в конце config файла независимо от ли они уже существуют).

  4. Начать приватность.

  5. Настройте свой браузер, чтобы использовать 127.0.0.1:8118 в качестве прокси-сервера http/https.

Смежные вопросы