2 Stimmen

JQuery Ajax-Abstimmung

Ich verwende diese JQuery Ajax Abstimmungssystem Anleitung als groben Anhaltspunkt, aber ich bin etwas beunruhigt, was die Sicherheit betrifft. Im Moment speichert dieser Leitfaden im Wesentlichen die ID von etwas und die Stimmstatistiken dafür.

Ich würde gerne eine ähnliche Idee umsetzen, aber ich muss auch die Benutzer-ID einbeziehen, damit ein Benutzer nur einmal abstimmen kann. Diese wird in einer PHP-Session-Variable gespeichert und ich frage mich, ob die Ajax-Seite, die aufgerufen wird, Zugriff auf diese Sitzung haben wird oder nicht. Wenn nicht, wie kann ich den Parameter sicher übergeben, damit er nicht von einem Man-in-the-Middle-Angriff abgefangen oder gefälscht werden kann?

3voto

Paolo Bergantino Punkte 465120

Der Server hat über den AJAX-Aufruf Zugriff auf die Sitzungsdaten, solange Sie session_start(); am Anfang Ihres Skripts. Sie sollten auch sicherstellen, dass Sie Ihre Daten bereinigen, da ich sehe, dass das Tutorial Abfragen durchführt, ohne die Daten zu übergeben mysql_real_escape_string . Sie sollten auch Folgendes tun UNIQUE KEY(user_id, id) auf dem Abstimmungstisch, um sicherzustellen, dass es keine Duplikate gibt.

1voto

hunter Punkte 60542

Sie sollten in der Lage sein, die gleiche Sitzungsvariable aus dem Handler zu ziehen, der die Benutzerabstimmung speichert.

Als grundlegende Sicherheitsmaßnahme könnten Sie die UserId auf der Seite mit der Abstimmung vor dem AJAX-Aufruf verschlüsseln und die UserId beim Einfügen entschlüsseln, wenn sie in der Sitzung nicht verfügbar ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X