Ich entschuldige mich, wenn diese Frage vage ist oder schon einmal gestellt wurde - ich weiß nicht genug darüber, was ich zu fragen versuche, um nach einer Antwort zu suchen.Wie schütze ich meinen Webserver vor gefälschten Anfragen?
Ich erstelle einen Backend-Server für ein Spiel, das auf HTTPS-Anfragen reagiert. Dieses Spiel ist an dieser Stelle ziemlich einfach - Sie haben einige Statistiken und ein Inventar, das auf verschiedene Arten überprüft und modifiziert werden kann. Ich möchte dafür ein Webinterface erstellen, mit dem Sie ein paar wichtige Aktionen ausführen können, die das Ändern Ihrer Charakterdaten beinhalten (Leveln, Statuspunkte vergeben, Inventar verwalten, etc.). Ich habe jedoch Bedenken! Ich mache mir Sorgen um Leute, die einen Blick auf den Quellcode dieser Webseite werfen, indem sie die Befehle zusammenfügen, die zum Beispiel einen Punkt zu einer Statistik oder einem Gegenstand zu Ihrem Inventar hinzufügen und diesen Befehl dann auf meinen Server "spoofen" damit sie ihre Charakterdaten unfair ändern können.
die HTTPS Traktandierung Inventar hinzufügen könnte wie folgt aussehen (man stelle es als onClick für einen Knopf oder etwas):
<button onClick=makeRequest("mydomain/characters/myCharacterName/add_inventory?Stick=1")>Get Stick</button>
können Sie sehen, wie es trivial sein würde, dieses Stück zu holen Code auseinander und verwenden Sie es auf andere Weise. Wie kann ich diese Art von Funktionalität in einer Webseite bereitstellen, ohne die Möglichkeit zu geben, diese zu nutzen? Ich habe einige Optionen in Betracht gezogen, von denen keine so aussieht, als würden sie funktionieren. Ich denke, die Antwort könnte damit zu tun haben, einen Hash der Anfrage als einlösbares "Token" einzubauen, aber ich bin mir nicht sicher. Jeglicher Beitrag dazu wäre sehr zu begrüßen, da ich sicher bin, dass es ein ziemlich grundlegendes Konzept ist, das mir jetzt und in Zukunft helfen wird.
Sollte es auf der Serverseite keine Logik geben, die weiß, welche Operationen möglich sind - und deshalb nichts anderes tun könnte. –