Как я могу использовать безопасный прикладной прикладной, чтобы определить, сообщается ли URL в виде фишингового сайта или сайта вредоносных программ?

StackOverflow https://stackoverflow.com/questions/3732693

Вопрос

Вот кодовый фрагмент:

Components.classes['@mozilla.org/safebrowsing/application;1']
    .getService().wrappedJSObject.malwareWarden.listManager_
    .safeLookup(test_url, function(tableName){
        if (tableName == 'goog-phish-shavar' || tableNmae == 'goog-malware-shavar') {
            alert('This is reported by Google! ');
        };
});

Работает нормально, но я не думаю, что это «правильный путь» ...

Что если пользователь меняет dataProvider?

Это было полезно?

Решение

Доступ к любым способам или свойствам объекта XPCOM с использованием WROPHENJSOBJECT - проблема, ожидающая, когда произойдет. Все, что доступен через WROPHEJSOBJECT, считается «частным» данными и методами - потенциально ломаются в будущих выпусках. Старайтесь избегать этого.

Хорошая новость - это «ListManager», сам по себе является глобальной службой XPCOM. Доступ к нему напрямую использую:

 var cc = components.classes; var ci = компоненты. Интерфейсы; var listmanager = cc [@ mozilla.org/url-classifier/listmanager ;1"].getservice (Ci.nsiurllistmanager);

Что касается изменения поставщика данных, это может произойти простое количество изменений кода в Firefox, прежде чем это может произойти. Если это так, мы, надеемся, добавьте некоторые методы управления для XPCOM.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top