2009-07-15 5 views

Antwort

2

Ich würde empfehlen, da diese Attribute anfällig für Manipulationen sein können. Stattdessen sollten Sie eine Liste von Objekten auf dem Server haben, in denen jedes Objekt sowohl die Drop-Down-Textdaten als auch die zusätzlichen Daten darin speichert.

Sie können dann den Index der Dropdownliste verwenden, um zu bestimmen, welches Objekt in Ihrer Liste auf dem Server ausgewählt ist. Normalerweise sollten Frontend-Steuerelemente niemals etwas anderes als Anzeigedaten und -indizes enthalten, wenn Sie dabei helfen können. Aus diesem Grund verfügen Datenaggrids über eine Datenindexspalte, sodass Sie den Index des Datensatzes abrufen können, der der Zeile entspricht. Der Datensatz selbst wird nicht im Raster gespeichert, nur seine Felder werden angezeigt.

1

Es wird (höchstwahrscheinlich) sicher im Browser ankommen, aber dort kann alles geändert werden. Alles, was Sie vom Browser zurückbekommen, kann nicht verlassen werden, wenn Sie es nicht ordnungsgemäß signieren, z. mit einem Hash Ihrer Daten + ein Geheimnis.

Mit so etwas wie:

HASH_FUNCTION(DATA + SECRET), DATA 

Sie auf dem Server überprüfen können, ob jemand mit Ihren Daten manipuliert hat.

+1

Ich habe einen anderen Weg gefunden zu erreichen, was ich suchte, aber das ist gut zu wissen, danke. –

0

Ja! Aber nur, wenn Ihre Daten nicht sensibel sind und es keine Rolle spielt, ob ein Client daran manipuliert. HTML 5 erkennt offiziell die Verwendung von Daten * -Attributen für allgemeine Daten. Beachten Sie, dass die Daten-Attribute hauptsächlich für clientseitige Dinge verwendet werden. Sie können auch serverseitig verwendet werden. Aber denken Sie daran, nur nicht sensible Daten zu speichern.

Ich habe persönlich Daten-Attribute in asp.net verwendet, um den clientseitigen Prozess der Anzeige von Warnmeldungen für Verknüpfungen/Schaltflächen (z. B. ein Löschen) zu vereinfachen. Die Nachricht kann dann serverseitig nach Bedarf geändert werden, indem auf das entsprechende Attribut data-* in der Attributes-Auflistung zugegriffen wird. Wenn der Client diese Attribute manipuliert, tut es dem Client nur weh, dass er die Warnmeldung möglicherweise nicht erhält.

Verwandte Themen