2016-07-28 10 views
-1

Das Problem, das ich hier habe, betrifft den Versuch, HTTP-POST-Daten sicher zu senden (ohne jemanden HTTP-Header-Viewer zu verwenden, um zu sehen, welche Datenvariablen übergeben werden?)Senden von sicheren HTTP-Post über Javascript oder jquery?

Ist das möglich?

Dies ist das Szenario:

Webseite A stellt eine ‚kostenlose Online-Datenbank‘ - für alle Benutzer der Website, die es verstehen oder nicht wollen, eine Datenbank auf ihrer Website einzurichten.

Website B verwendet den Dienst von Website A, um die E-Mail-Adressen des Kunden zu senden.

Website B muss POST-Daten mit einem speziellen "APIkey" an Website A senden. Dies kann nicht öffentlich gezeigt werden, da die Öffentlichkeit sonst den APIkey und Spam-Anfragen verwenden kann, die Website B nicht autorisiert hat.

Wie kann dies erreicht werden, ohne PHP auf der Website B zu verwenden? Ich würde es vorziehen, dass es so einfach wie möglich ist (z. B. ein Javascript-Plugin) - aber wäre ich in der Lage, es zu sichern, so dass Besucher von Website B nicht sehen könnten, welche POST-Daten gesendet wurden?

Ich hoffe, Sie verstehen und danken Ihnen im Voraus!

+0

Sie möchten https verwenden, und es wird nicht empfohlen, http zu verwenden, wenn Sie eine Sicherheit wünschen –

+0

@MarkoMackic - Würde HTTPS dies sofort lösen? Alles, was ich brauche, ist eine Variable (APIKEY), die versteckt werden soll und nicht aus der Quell- oder HTTP-Header-Sniffer gefunden werden kann. – MailPit

+0

Ich weiß nicht, dass Sie vielleicht etwas mit http tun könnte, aber https würde das sofort lösen :) aber http-Lösung enthält eine Art von Server-Side-Scripting :) –

Antwort

-1

Was Sie fragen, ist wie der Versuch, eine Banane zu nehmen und einen Apfel zu machen.

Dies ist nur ein großes Sicherheitsloch. Und ist ein großes NEIN NEIN. Nur auf der Seite. Vertrauen Sie niemals den Clients (Webbroswer)

+0

Dies ist am besten geeignet als Kommentar! – innoSPG

+0

Entschuldigung. Aber ich kann keinen Beitrag oder eine Antwort anders als meinen eigenen Beitrag oder meine Antwort kommentieren. –

+0

Sie müssen ein bisschen arbeiten, um mehr Ansehen zu erhalten, dann können Sie Kommentare abgeben, wie Sie es wünschen. Ich habe nicht gesehen, dass du überhaupt keinen guten Ruf hast. – innoSPG

0

Nein, das ist nicht möglich.

JavaScript, wie Sie beschreiben, würde es im Browser ausgeführt werden. Der Browser wird vom Benutzer gesteuert, so dass Sie den Schlüssel, der zum Signieren der Anforderungen eines mäßig qualifizierten Angreifers verwendet wird, nicht verbergen können.

Als eine Randnotiz, würde die Verwendung von HTTPS auch nicht helfen. HTTPS würde nur dazu beitragen, den Schlüssel von einem Dritten zu verbergen, der die Kommunikation beobachtet. Es würde nicht verhindern, dass der Benutzer der Site den Schlüssel aus JS extrahiert.

+0

Können Sie sich vorstellen, wie dies erreicht werden könnte? JQuery oder eine andere Sprache? Ich bin mir sicher, es wäre möglich, wenn die Website PHP verwendet und eine HTTP-Anfrage über das - aber ich möchte eine Art Plugin/Addon für alle Websites - Zwischenwebsites, die grundlegende HTML sind? – MailPit

+0

PHP läuft auf der Serverseite. JavaScript wird auf der Benutzerseite ausgeführt. Die Authentifizierung muss auf dem Server und damit unter Kontrolle der Anwendung erfolgen. Die clientseitige Authentifizierung kann nicht gesichert werden. Das Problem, das Sie bekämpfen, ist ein grundlegendes Problem der Informationssicherheit, unabhängig davon, welche Sprache Sie genau verwenden. Sie können JS auf dem Server mit etwas wie nodeJS ausführen, aber Ihr Ansatz eines Site-Plugins, das sich in lokalen JS authentifiziert, ist zum Scheitern verurteilt, egal ob Sie JS, Flash oder eine andere clientseitige Sprache verwenden. – 0x90

Verwandte Themen