Von 2 verschiedenen Anwendungen konnte ich Cross-Orgin-Anfragen senden. Obwohl der Browser einen Fehler von Cross-Origin zurückgibt, aber mein Server immer noch die Anfrage empfängt und ausführt. Zum Beispiel von einem entfernten Ort, kann ich Cross-Domain-Anfrage mit,Wie kann man andere Websites stoppen, um domainübergreifende Ajax-Anfragen zu senden?
$.ajax({
xhrFields: {
withCredentials: true
},
data:{ my: 'a' },
url: 'http://MyApp/Page',
type: 'POST'
})
Ich weiß aufrufen, dass der Browser nicht die Antwort auf Skript zurückgibt, aber meine Server-Seite noch auszuführen.
Angenommen, ein unschuldiger Benutzer ist auf einer Website angemeldet, http://abc.com. Diese Anwendung akzeptiert Post-Anforderung zum Einfügen eines Datensatzes. Wenn unschuldige Benutzer unschuldige http://HackerSite.com besuchen, kann die http://HackerSite.com eine POST-Anfrage an http://abc.com über Ajax senden. Wie vermeide ich das?
Schöne Frage. Wenn Sie dafür eine Antwort haben, werde ich mich sehr freuen, wenn Sie if posten. –
Für einen WCF-Dienst können Sie ** crossdomainscriptaccessenabled ** in Ihrer Endpunktkonfiguration auf false setzen. – Saranya
Sie werden das gleiche Problem mit einem Formular senden, kein Javascript beteiligt. Die CORS-Spezifikation wurde nicht mit zusätzlicher Sicherheit erstellt. Stattdessen ermöglicht es Ihnen, im Wesentlichen die gleichen Aktionen auszuführen, die Sie bereits ausführen konnten (sans ajax). Die CORS-Spezifikation geht ein bisschen weiter, indem sie sicherstellt, dass Ihr Server nicht einmal die zugrunde liegende Anfrage erhält, wenn Ihr Server die Spezifikation nicht korrekt annimmt und die gleiche Anfrage nicht sans ajax (ohne Ursprung) gesendet werden konnte. sagen, über ein Formular senden). Dieses letzte Konzept wird Preflight genannt. –