2017-01-04 2 views
0

Ich habe schon lange nach einer guten Antwort auf diese Frage gesucht, aber ich kann keine gute Lösungen für mein Problem finden.jQuery Widget Verschlüsselung Initialisierung Variablen

Also, ich möchte ein jQuery Widgets erstellen, die auf einer Kunden-Website implementiert werden können. Dieses Widget muss jedoch über einen APIKey initialisiert werden, den ich geheim halten möchte, damit die Kunden die Kundenseite nicht besuchen.

Daher dachte ich über Verschlüsselung, die auf den wichtigsten Skriptsprachen wie PHP, Perl, etc. vorhanden sein muss. Zum Beispiel hash_hmac ... Sonst könnte die APIKey extrahiert werden, aber die verschlüsselte Zeichenfolge kann auch kopiert werden . Abgesehen davon habe ich auch über einen Handshake nachgedacht, aber für diesen Handshake würde ich auch den APIKey brauchen, um den Handshake zu autorisieren ...

Es ist ein Problem, aufgrund des Inhalts des Widgets zeigt.

Daher meine Frage: Haben Sie Jungs jede gute Idee oder Lösungen für mich, damit ich meinen Widget auf der Kunden-Website implementieren securly ist, also mit einem apikey, die von den Besuchern der Kunden Website sicher ist?

Vielen Dank im Voraus.

Antwort

0

Werfen Sie einen Blick auf dieses Tutorial ein Widget für den Austausch, die Sie erstellen, die auf externen Kundenstandorten arbeiten ... http://alexmarandon.com/articles/web_widget_jquery/

Jeder Kunde in der Datenbank eine eindeutige Kennung haben sollte. Sie müssen auch den Domänennamen angeben, unter dem das Widget bereitgestellt wird.

Wenn Ihre script/html-Vorlage auf der Kundenseite geladen wird (wie im obigen Tutorial), übergeben Sie die Kundendomäne und die eindeutige ID zur Validierung an Ihre Site. Wenn diese Option gültig ist (die Kunden-ID ist gültig und der Domänenname stimmt mit dem Ursprung der Site überein), legen Sie eine Variable in Ihrem Skript fest, um den Download von Skripts und HTML-Vorlagen zum Laden Ihres Widgets zu starten.

Viele Chat-Seiten verwenden dies und ich habe diese Technik verwendet. Ich verwende den gleichen Prozess für meine persönlichen Seiten ... Um Kundenklickdaten auf entfernten Seiten anzuzeigen. Mein Skript auf ihren Seiten kann ein Overlay starten, um ein Dashboard anzuzeigen, in dem ich mit den HTML-Elementen auf der Seite interagieren und meine von einem Remote-Server gezogenen Heatmap-Ergebnisse überlagern kann. Hoffe das hilft.

+0

Ich habe diesen Ansatz bereits implementiert, aber der Bezeichner ist sichtbar für beispielsweise Hacker, die die Domain durch Manipulieren von Referer fälschen können. Also, ist das sicher genug? Ich dachte über einen Handshake nach, aber das würde eine weitere Anfrage mit einer unsichtbaren Kennung erfordern, die einen einmaligen Initialisierungscode zurückgibt, mit dem Sie das Widget initialisieren. –

+0

Ist es sicher? Google verwendet diese Technik, um zu bestätigen, dass Sie die Website besitzen (html-Tag-Verifizierung suchen). Wenn Ihr Kunde Ihr Skript und den Schlüssel tatsächlich auf dieser Seite platzieren kann, hat er die Kontrolle über die Seite/Domäne. Wenn Ihr Skript den Schlüssel und die Domain von der Seite abruft und diese mit dem vergleicht, was in Ihrer Datenbank enthalten ist, dann sind sie gut zu gehen/autorisiert. Ein Hacker könnte Ihr Skript auf der umgeleiteten Webseite installieren, aber diese Domäne und der Schlüssel stimmen nicht überein ... Sie zeigen dem Hacker eine Fehlermeldung an. Ich hoffe, das hilft. – Rob

+0

Eigentlich, wenn ein Hacker eine Lock-Anfrage mit der Domain als Referer und mit dem erforderlichen Schlüssel auslöst, wird es den Zugang gewähren? Während es nicht von der Domain selbst ist? Wie kann ich diesen "Hack" überwinden? –

Verwandte Themen