Frage

Ich habe eine Form, die an eine externe API gebucht wird. Es gibt einen Parameter namens customer_token, die als Eingabefeld übergeben wird. Es wird für die Authentifizierung durch die API verwendet, und jeder Kunde ist ein Token zugeordnet. Das Eingabefeld ist sichtbar in Firefox Firebug (auch wenn es ein verstecktes Feld ist).

Wie blende ich es?

Optionen Verwenden Sie Javascript, wie ich zunächst dachte,

Ich denke, mit Hilfe von Javascript, dass das Eingabefeld zur Laufzeit erstellen, bevor Sie das Formular abschicken und sofort das Feld entfernt wird funktionieren, aber immer noch wird das Feld für einen Moment erscheinen. Also, auch wenn eine Person es nicht manuell bekommen, ich habe Angst, dass ein Crawler oder Spider (ich weiß nicht, den genauen Begriff kennen - aber einig automatisiertes Skript) kann den Kunde Token erhalten. Gibt es eine bessere Lösung? Nach dem Formulareinreichung zeigte die gleiche Form bleibt.

Verwendung von Einmal-Token Konzept von Ikke vorgeschlagen

Ich bin nicht sicher, wie es funktioniert? Die API muss den richtigen Kundentokenwert jede Anforderung zu verarbeiten. Also, auch eine einmalige Token und zurück, eine Anforderung mit dem Kunden zu generieren Token gesendet werden muss. Auf diese Weise jemand in der Lage, meinen Kunden Tokenwert zu sehen, und sie können auch eine Anfrage zu bekommen eine einmalige Token und verwenden Sie es senden. Wie funktioniert es, das Problem zu lösen?

gelöst Prüfen Sie Wie Form auf meinen Server schreiben und dann zu API, anstatt direkt zu veröffentlichen (aus Sicherheitsgründen)? Vielen Dank, Sandeepan

War es hilfreich?

Lösung

Dies ist nicht möglich. Firebug liest gerade das DOM in seinem Ist-Zustand, so dass selbst wenn es zu einem späteren Zeitpunkt hinzugefügt wird, ist es noch abgerufen werden kann.

Diese Art der Sicherheit heißt Sicherheit durch Unklarheit und ist eine Art von nicht-Sicherheit. Sie müßten es eine andere Art und Weise zu lösen, wie das Lassen der Server die Anforderung an Stelle tun.

Sie können die Benutzer das Formular an den Server senden. Dann mit curl , machen Sie den Anruf an den Webservice mit dem korrekten Benutzercode ein.

Andere Tipps

Ich glaube nicht, das möglich ist, fürchte ich.

Firebug wird noch das Element sehen, ob es über Javascript eingefügt ist, wie es die DOM-Baum-Uhren. Wenn dieser Eingang eine Sicherheitslücke macht, dann ist es die Aufgabe Ihres serverseitigen Code zu bestätigen / zu beheben.

Weitere Informationen über die API helfen könnte jemand Antwort auf diese Frage im Detail.

Ich hoffe, das hilft

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top