2017-02-09 1 views
3

Ich mache derzeit eine Open-Source-Browser-Erweiterung, die Anfragen an meine Website senden wird. Dies kann problemlos mit Ajax geschehen, eine Anfrage wird an die Seite action.php gesendet.Stellen Sie sicher, dass eine Anfrage von der Originalsoftware gesendet wird?

Meine Seite wird PHP verwenden, nun die Frage ist, wie kann ich sicherstellen, action.php empfängt die Anfrage von der ursprünglichen Erweiterung? Ich meine, Gräter könnten leicht falsche Informationen an den Server senden, oder eine Gabel könnte verwendet werden und falsche Daten senden. Ich dachte daran, einen Token zu generieren, aber irgendjemand könnte ihn nachbilden.

Wie kann ich diese Situation verhindern?

Dank

+1

nicht möglich, ohne ein Token zu senden. Es gibt viele Möglichkeiten, das Fälschen eines Tokens zu verhindern (dh es von Ihrem Server auszustellen) –

Antwort

0

Ich habe einige Erfahrung mit diesem selbst. Ich habe eine Erweiterung mit einem Login erstellt und kam schließlich zu der Unvermeidbarkeit, dass Sicherheit in einer Erweiterung von Natur aus schwierig ist.

Das Problem ist, dass eine Erweiterung nur ein Bündel von JS und HTML ist, dass jeder die Werte von überprüfen kann. Das bedeutet, dass jeder, der sich entschlossen hat, durch Ihren Code zu graben, möglicherweise herausfinden kann, wie Sie alles, was Sie eingebaut haben, umgehen können.

Die Lösung, zu der ich schließlich kam, ist die, dass die Erweiterung selbst keine lang anhaltenden Geheimnisse haben kann. Eine Sitzung mit einer Zeitüberschreitung ist die einzige sichere Speicherung. Die eigentliche Anmeldung für meine Erweiterung erfolgt über eine Website über HTTPS.

Wenn Sie dies ohne eine solche Anmeldung versuchen, besteht Ihre einzige Möglichkeit darin, es so schwer wie möglich zu machen, was gesendet werden muss, indem ein Algorithmus verwendet wird, der serverüberprüfbare Tokens generieren kann und dann nur minimized veröffentlicht Code zum Webshop.

EDIT: Lesen Sie die Frage neu und bemerkte, dass Sie sagten, dass Sie diese Open Source tun. Ohne irgendeine Art der Authentifizierung auf dem Webserver über HTTPS können Sie nur wenig tun, um zu verhindern, dass bestimmte Personen Ihren Schutz umgehen, da sie in Ihrem öffentlichen Repository angezeigt werden.

Verwandte Themen