Wie kann ich sicher Objekt-Browsing-Anwendung verwenden, um zu bestimmen, ob eine URL als Phishing-Website oder Malware-Website berichtet wird?
-
03-10-2019 - |
Frage
Hier ist Code-Snippet:
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! ');
};
});
Es funktioniert gut, aber ich glaube nicht, es ist die ‚richtige‘ Art und Weise ...
Was passiert, wenn Benutzer Änderung der DataProvider-?
Lösung
Zugriff auf alle Methoden oder Eigenschaften eines Objekts XPCOM wrappedJSObject verwendet, ist ein Problem auf uns zukommen. Alles, was über wrappedJSObject zugegriffen wird „private“ Daten und Methoden betrachtet - möglicherweise in zukünftigen Versionen zu brechen. Versuchen Sie, es zu vermeiden.
Die gute Nachricht ist, die der „Listmanager“ ist selbst ein globaler XPCOM Service. Greifen Sie direkt über:
var Cc = Components.classes; var Ci = Components.interfaces; var listManager = Cc["@mozilla.org/url-classifier/listmanager;1"].getService(Ci.nsIUrlListManager);
Wie bei den Datenanbieter zu ändern, wird es eine angemessene Menge an Code-Änderungen an Firefox, bevor das geschehen kann. Ist dies der Fall, würden wir hoffentlich einige Management-Methoden zu XPCOM als auch hinzufügen.