• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Abfrage, ob POST-Daten von Script stammen

blabla333

Mitglied
Ich sende per AJAX Daten zum PHP-Script. Dabei ist mir aufgefallen, dass im Quelltext (JavaScript) alle Informationen sichtbar sind, d.h. es könnte doch jeder eigene Daten zum Script schicken und damit in die Datenbank schreiben. (oder habe ich hier einen Gedankenfehler?)
Wie kann ich in der PHP-Datei sicherstellen, dass nur die Daten verarbeitet werden, die auch von dieser Datei gesendet/empfangen werden?
 
Grundsätzlich kannst du nicht verhindern dass irgendjemand Daten an dein Script schickt.

Um CPCoder's antwort etwas ausführlicher zu beantworten:
Auf deiner AJAX Seite (Also dem Frontend) erstellst du eine Session beim Seitenaufruf. In der PHP-Zieldatei verarbeitest du jetzt nur die Anfragen, die auch die nötige Session haben.

Beispiel:

Ajax-Page:
PHP:
session_start();
$_SESSION['trustable'] = true;

PHP-Script:
PHP:
session_start();
if($_SESSION['trustable'] === true) {
     echo 'OK';
} else { echo 'Anfrage abgelehnt.'; }

Allerdings lässt sich dies so leicht manipulieren, dass es nur wenig Sinn macht diese Überprüfung überhaupt einzusetzen.

Wichtiger ist es die gesendeten Daten zu validieren. Kommt sich natürlich ganz auf den Anwendungsfall an.

PS: Ich denke das ist dir klar, aber diese Session-Lösung gilt für alle Seitenbesucher.
 
Zuletzt bearbeitet:
Ok, danke.
D.h. wenn die Session-Variante sowieso einfach manipulierbar ist, dann kann ich auch gleich darauf verzichten, richtig?
 
Musst du wissen. Jeder zusätzliche Sicherung bringt natürlich einen geringen Mehrwert mit sich.

Du kannst halt niemandem verbieten eine Session herzustellen, da ja jeder deine AJAX-Seite aufrufen kann. Und wenn er diese dann hat, kann er ja auch an dein PHP-Script schicken was er will.

Ist natürlich etwas anderes wenn du ein Session-basiertes Login mit Benutzer und Passwort hast. Dann musst du im PHP-Script natürlich nicht nur prüfen ob er eine Session hat, sondern ob er auch korrekt angemeldet ist.

Allerdings kannst du ja normalerweise auch keinem angemeldeten Benutzer trauen. An der Validierung führt also kein Weg vorbei.
 
Zurück
Oben