Wir haben eine Datenbank-basierte Website mit PHP mit gesetzten Cookies erstellt und müssen nun verhindern, HTTP-Spoofing, irgendwelche Ideen, wie dies zu tun? Wir sind Anfänger mit diesem so jede Hilfe wäre dankbarWie verhindert man HTTP-Spoofing?
Antwort
Sie können keine HTTP-Anfragen "fälschen". Sie senden eine Anfrage an den Server und der Server antwortet entsprechend.
Ich denke, was Sie verhindern möchten, ist Cookie Spoofing. Wenn Sie bedenken, dass Cookies auf der Clientseite gespeichert werden, können Sie nichts tun, um zu verhindern, dass Benutzer ihre Inhalte ändern.
Speichern Sie keine vertraulichen Informationen in Ihren Cookies. Sie sind nicht sicher und können vom Kunden leicht gelesen und modifiziert werden.
Verwenden Sie stattdessen PHP-Sitzungen. Die vollständige Erklärung, wie Sitzungen funktionieren und wie sie sicher sind, finden Sie unter one of my previous answers.
Wesentliches Sitzungen Sicherung wird an zwei Fronten getan:
Verhindern Session-Fixation
Regenerieren eine neuesession_id
jede X Anzahl der Anfragen, um die Menge an Zeit ein Angreifer zu reduzieren hat zu stehlen die ID.identifizieren eindeutig den Client
Verwenden IP und/oder der User-Agent auf den Client eindeutig zu identifizieren und diesen Wert überprüfen auf jeder Seite Last gegen die in der Session gespeichert diejenigen. Dies ist wirklich die einzige Möglichkeit, den Client eindeutig zu identifizieren.
Selbst mit, dass an Ort und Stelle, ist keine Lösung narrensicher und sobald Ihre session_id
gefährdet ist, sind Sie so ziemlich erledigt.
Auch für eine eingehende Erklärung, siehe bitte my previous answer.
Spoofing von was? HTTP ist nur ein Protokoll für die Übertragung von Daten, es ist nicht wirklich etwas selbst gefälscht.
Die Sache zu tun ist nicht, Spoofing von Informationen zu verhindern, aber dem Klienten einfach nie zu vertrauen. In Bezug auf Cookies, speichern Sie einen Hash-Pseudozufallswert, den Sie mit der Datenbank vergleichen, bevor Sie die Cookie-Daten akzeptieren.
AKTUALISIERT:
Da es speziell Cookies ist, dass Sie besorgt sind, werde ich ein wenig mehr in die Tiefe gehen. Es gibt zwei wichtige Dinge, die Sie beim Speichern von Cookies beachten sollten.
- Speichern Sie nicht die tatsächlichen Daten
- Validate für die Datenbank
also lasst uns sagen, dass Sie eine Website mit Benutzer haben wollen, wo Sie persönliche Daten speichern. Im Cookie können Sie den Benutzernamen oder die Benutzer-ID und ein Hash-Sicherheitstoken speichern, das bei der Anmeldung des Benutzers ebenfalls in der Datenbank gespeichert wird. Das Sicherheitstoken wird nicht erkennbar sein und sich bei jeder Anmeldung ändern. Alle persönlichen Informationen bleiben in der Datenbank, niemals im Cookie.
Einige weitere Lesung am besten Praxis: http://jaspan.com/improved_persistent_login_cookie_best_practice
müssen wir versuchen, HTTP-Nachrichten gefälscht zu tun, wenn das hilft? – Jermain
Vielleicht könnten Sie ein konkretes Beispiel dafür beschreiben, was Ihrer Meinung nach passieren könnte. –
Wenn jemand den Cookie findet, den PHP verwendet, um eine Sitzung zu verwalten, was hält jemand auf einem anderen Computer davon ab, den Cookie manuell auf den gleichen Wert zu setzen und so zu tun, als ob er Sie wäre? – Jermain
Wenn Sie man-in-the-middle Abhören verhindern wollen, möchten Sie vielleicht HTTPS verwenden, die einen sicheren Kanal über das Netzwerk erstellt, vorausgesetzt, dass eine angemessene Chiffriersätze verwendet werden und dass Das Serverzertifikat lautet verified and trusted.
Hinweis: Die ursprüngliche Frage war zweideutig. Es ist jetzt klar, dass die Frage über Cookie-Spoofing ist.
Spoofing? Das einzige wirkliche Problem mit kompromittierter Identität ist Cookie-Diebstahl.
Wenn ein Cookie über die HTTP-Header gesendet wird, können Sie dies anhand der IP-Adresse überprüfen, an die das Cookie gesendet wurde. Zum Beispiel:
Aber das kann negative Auswirkungen auf Menschen, deren ISP sie eine dynamische IP-Adresse ausgibt.
Ich bin mir nicht sicher, wie nützlich dieser "Rat" ist. Dies erfasst nicht nur Personen mit einer dynamischen IP-Adresse, sondern auch solche, die ein mobiles Gerät wie einen Laptop verwenden. Der Wechsel von einem Büro zu einem anderen kann ausreichend sein, damit der Code sie als Cookie-Theives identifiziert. Ich empfehle dieses nicht. – T9b
Ich weiß, dass dies beantwortet wurde, aber ich möchte eine andere Technik, die ich verwende, hinzufügen, es ist besonders nützlich für die Verwaltung Logins. Verwenden Sie Sitzungen wie gewohnt, aber fügen Sie dem Mix Verzeichnisschutz hinzu.
Auf diese Weise, wenn eine Sitzung entführt wird, muss der Hijacker auch in der Lage sein, das Verzeichnis Login zu bekommen.
Ich verwende diese Technik für die Forum-Verwaltung. bestimmte Foren werden leicht gehackt und das verringert die Chance, dass ein Hacker hereinkommt und ernsthafte Probleme verursacht.
DC
was ist die URL? –
es hochgeladen wird, nachdem wir die Sicherheitsprobleme – Jermain