Sichere ajax GET/POST-request zum server
angenommen ich arbeite mit einer Art von API und meine Datei server.php Griffe die Verbindung zum API-service. auf meinem client-Seite verwende ich AJAX-Aufruf wie dieser:
$http({
url : 'server/server.php',
method : 'GET',
data : { getContent : true }
});
in meinem server.php ich handle es so:
if(isset($_GET['getContent'])){
$content = get_content();
}
function get_content(){...}
ich Frage mich nur, was verhindert, dass eventuell einer schicken AJAX-call mit dem gleichen getContent parameter und erhalten Sie alle meine Daten? wie kann ich es sichern, und stellen Sie sicher, dass nur Anrufe von meiner Anwendung die entsprechenden Daten zurück?
danke!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, Sie sind besorgt über CSRF-Angriffe. Mehr dazu Lesen Sie hier: https://www.owasp.org/index.php/Cross-Site_Request_Forgery_%28CSRF%29_Prevention_Cheat_Sheet
Eines der meist verwendete option zur Sicherung Ihrer Anfrage:
- Generieren Sie einen token und schickt es mit der Anforderung für eine Sitzung. Dieses token identifiziert werden kann, indem Sie Ihren WebServer als Ursprung von einem bestimmten AUFTRAGGEBER für einen bestimmten Sitzung
Nichts. Diese URL ist öffentlich, somit kann jeder Anfragen stellen, um es.
Können Sie pass-zusätzliche Daten (zum Beispiel, einige Hash-Wert), dass ist verifiziert der server-Seite.
und
Der gleichen Weise würden Sie verhindern, dass die Daten in jede andere Anfrage (z.B. mit Benutzer-Authentifizierung). Es gibt nichts besonderes über Ajax in Bezug auf HTTP-soweit der server betroffen ist.
Können Sie nicht. Der Benutzer kann überprüfen Sie immer, was Ihren browser fragt den server und replizieren.
In der Regel, Menschen, die Authentifizierung von Benutzern, anstatt Anwendungen.