2012-09-20 3 views
5

Einige clevere Leute benutzen meine API-zentrierte Web-App, um meinen Dienst zu klonen und ihn so aussehen zu lassen, wie er selbst ist. Gibt es eine Möglichkeit sicherzustellen, dass alle Ajax-Anfragen für meine Website sind?Wie stelle ich sicher, dass Anfragen von meiner Website stammen?

Sicher könnte ich die Referrer-Header verwenden, aber sie könnten es leicht fälschen.

+0

Wie sind sie klammern? Die einzige Weise, die ich für Sie denken kann, um es zu sichern, ist, ssl zu verwenden. –

+0

mögliches Duplikat von [So sichern Sie JSON-Anrufe ohne Verwendung eines Captchas] (http://stackoverflow.com/questions/12444608/how-to-secure-json-call-without-using-a-captcha) – DCoder

Antwort

5

Legen Sie einen Cookie auf dem Client fest, wenn er auf Ihre Website trifft, bevor er Ajax-Anforderungen sendet.

Überprüfen Sie dann den Cookie, wenn Sie den Ajax bedienen.

Oder alternativ könnten Sie Ihre Ajax Anfragen nur POST machen. Auf diese Weise unterliegen sie der gleichen Herkunftsrichtlinie.

Es wird jedoch die ganze friedliche Ideologie brechen.

http://en.wikipedia.org/wiki/Same_origin_policy

+0

Sicherheit> Ideologie , obwohl POST für diesen Zweck mich auch ärgert. –

+0

+1 für eine gute/richtige Antwort –

+1

Ich denke, jQuery 'JSONP' wird um diese' same-Herkunft' Einschränkung arbeiten und Daten wie gewohnt erhalten. –

Verwandte Themen