2016-04-06 4 views
0

Der Versuch, ein altes Firefox Addon zu reparieren, das die Google Maps API ausgiebig nutzt. AMO CSP erlaubt jedoch nicht alle Remote-Skripte und -Videos. AMO CSP compliance erforderlich, damit das Addon signiert wird, nur signierte Addons dürfen installiert und ausgeführt werden.Firefox Addon nutzt Google Maps API, Remote Scripts und EVAL sind NICHT erlaubt

Von AMO Validierung Feedback:

Security Tests 0 errors, 6 warnings, 0 notices 
    Scripts must not be remote 
    Warning: <script> tags must not be referenced to script files that are hosted remotely. 
     chrome/content/file.html 
     4 <script src="http://maps.google.com/maps?file=api&amp;v=3&amp;key=<...>" type="text/javascript"></script> 

Gibt es eine Möglichkeit zum Herunterladen und Bearbeiten der API in Dateien für die Verwendung in dieser Umgebung? Das Projekt hatte einen API-Schlüssel für viele Jahre und verwendete Code remote. Ich bin gerade dabei, das veraltete Addon wiederzubeleben. Gibt es neben der technischen Lizenzierung Probleme mit der Code-Nutzung in diesem Zusammenhang? Derzeit unter MPL-1.0 lizensiert, könnte aber trivialerweise in MPL-2.0 geändert werden, was ich als den Weg des geringsten Widerstands befürworte.

Antwort

0

Um meine eigene Frage nach weiteren Recherchen zu beantworten, ist die beste Option, Google Maps API aus den oben genannten Gründen einfach nicht zu verwenden.

  • Nicht Open-Source-kompatibel [related question]
  • Nicht verfügbar für Embedded-Anwendungen
  • Nicht Mozilla Firefox Addons CSP kompatibel
  • extrem langsam ernsthafte Sicherheitsprobleme (eval-Suppe)
  • Unzureichende Update zu beheben Frequenz oder Unterstützung
  • Prohibitiv einschränkende Zugangsbarrieren
  • Inflexible, ungeeignet unerwünscht.

Was auch immer mit dem Mantra passiert ist, "Do no harm?" Ist es geworden, "tue nichts?" Anyways ...

Eine der vielen anderen freien Software-Bibliotheken wird erreichen, was ich will.

Ich könnte das ganze Problem vollständig umgehen, und präsentieren Sie einfach eine Textliste von Regionen mit Kontrollkästchen für Bereiche von Interesse, ein kombiniertes - möglicherweise nicht zusammenhängende - Polygon (e), und verwenden Sie alle Geo-fähigen Polygon-lib zu Überprüfen Sie, ob beliebige Punkte innerhalb oder außerhalb der Grenzen eines Polygons liegen.