2013-08-19 4 views
7

Ich baue ein 3rd-Party-WidgetWie können wir ein Widget eines Drittanbieters sichern?

Wir lassen ein Skript auf einer Client-Seite und laden Sie einige Inhalte.

Das Problem, mit dem ich konfrontiert bin, ist, wie sichere ich mein Widget. Als drittes Party-Widget weiß ich, dass es keine hundertprozentige Möglichkeit gibt, es zu sichern. Aber versuchen, einen "gut genug" Ansatz zu erarbeiten.

Ich möchte es für einen Nicht-Kunden schwierig machen, unser Skript nur von seiner Konkurrenzseite zu kopieren und es auf deren zu verwenden.

Die Lösungen, die ich sehe, ist ziehen validieren Domäne anfordert (was ich weiß, gehackt werden könnte, nicht sicher, ob ich Schutz gegen das kann?)

hatte ich einen Blick auf andere Widgets wie Olark und olapic, die eindeutige ID des verwenden pro Client in ihrem Skript, kann aber nicht sehen, wie hilfreich das ist.

Was sind die besten Verfahren, um ein Widget eines Drittanbieters zu sichern?

+0

Wie sind Sie damit klargekommen? Etwas Glück? Hast du Javascript von Ben Vinegar gelesen? – stephenmurdoch

+0

Möchten Sie wissen, ob Sie auch eine Lösung gefunden haben? – Dofs

+0

endete folgende Beispiele in Third Party Javascript von Ben Essig. – dboyd68

Antwort

2

ein Mieter des Kunden Zugriff sichern

ein Mieter den Zugang 3rd-Party-Client auf Ihre Javascript Sicherung stellt eine einzigartige Reihe von Herausforderungen. Die meisten Schwierigkeiten in dieser Lösung rühren von der Tatsache her, dass der Authentifizierungsmechanismus im Webinhalt der Mieter vorhanden sein und von ihrem Client-Browser geliefert werden muss. Standardclient <> Serverauthentifizierungsmechanismen wie Sitzungen, Cookies, benutzerdefinierte Header, Referrer und IP-Adresseinschränkungen gelten aufgrund der erweiterten Art der Transaktion nicht gut.

This article von Bill Patrianakos bietet eine Lösung mit einer dynamischen Schlüsselanforderung, die dem Client des Mandanten ein Zugriffstoken zur Verfügung stellt.

Patrianakos bietet einige gute Informationen über Beziehungen zu Drittmandanten und diskutiert einige der Einschränkungen dieses Modells in seinem Artikel.

den Code Javascript Sicherung

Code in Javascript Schutz aufgrund der Anforderung schwierig ist, dass der Code zur Laufzeit durch den Client-Browser interpretiert wird. Es ist jedoch möglich, Ihr Javascript mit dem Google Closure Compiler zu verschleiern. Die advanced optimization Features des Compilers bieten Low-Level-Referenzumbenennung und bietet auch kompakter Code für die Bereitstellung Ihres Widgets.

java -jar compiler.jar --compilation_level ADVANCED_OPTIMIZATIONS \ 
    --js myWidget.js --js_output_file myWidget.min.js 

Es gibt einige wichtige Einschränkungen:

Um Ihre Javascript mit erweiterten Optimierungen verwenden Sie die folgende Befehlszeile kompilieren. behandelt einige der Dinge, die Sie in Ihrem Code vermeiden sollten, um sicherzustellen, dass der Code korrekt funktioniert. Ich würde auch einen guten qunit Testrahmen empfehlen, um sicherzustellen, dass Ihr Widget ordnungsgemäß funktioniert.

+0

Die Frage bezog sich auf die Serverseite und darauf, wie Sie verhindern oder versuchen können, dass Benutzer ihre Skripte gegenseitig missbrauchen. – Dofs

+0

Ich habe einen Abschnitt zum Mandantenclientzugriff hinzugefügt. –

1

Um das Widget zu schützen, wenn Sie gefälschte Anfragen verhindern möchten, müssen Sie ein Popup öffnen und eine Seite von Ihrem Server öffnen, die vollständig unter Ihrer Kontrolle ist, und alle Aktionen wie "Tweet veröffentlichen" dort bestätigen.

Siehe die answer für diese Frage für einige ausführlicher Diskussion.

Um zu verhindern, dass Ihr Javascript gestohlen wird, reicht die Verkleinerung nicht aus - es ist besser, einen Obfuscator zu verwenden. Schauen Sie zum Beispiel [JScramble], das ist ein presentation wie es funktioniert.

Verwandte Themen