3

data- *属性を使用して、表示に必要なカスタム属性と値を格納し始めました。例えば ​​。

<div id='someId' data-ItemValues='SomeValues'>
</div> 

data-*私がいくつかの操作を行っていることに基づいています(CRUD)。ユーザーがデータを変更した場合はどうなりますか?*クライアント側の属性値(つまり、firebugやその他の開発者ツールを使用したブラウザーから)?知りたいのですが、従う必要のある基準はありますか、またはコミュニティがこのシナリオをどのように処理するかを知りたいのです。

アップデート :

サーバーサイドでも検証します。しかし、いくつかのシナリオでは。データはサーバーに保存されません。マークアップされます。ユーザーが保存ボタンを押したときにのみ保存されます。

javacriptからデータを選択し、ajaxを使用してサーバーに値を送信します。しかし、私の懸念は、ユーザーがdata- *属性の値を変更した場合、サーバー側の検証でさえ合格するルールを満たすようになることです。では、どうすればそれらを防ぐことができますか?

4

4 に答える 4

7

ルールはいつもと同じです。

クライアントを絶対に信用しないでください。サーバー側で、値が期待どおりであることを常に確認および検証します。

これは、非表示フィールドの値、AJAXを介して渡されるデータ、または制御できないマシンからのデータに適用されます。

于 2012-08-21T13:02:11.147 に答える
2

マークアップまたはjavascriptオブジェクトに保存するものはすべて簡単に改ざんされる可能性があるため、特にCRUDまたは同様の操作に使用する場合は、そのような属性/オブジェクトに由来するものすべてのサーバー側検証を実行することをお勧めします。

于 2012-08-21T13:02:41.197 に答える
1

クライアント側のデータに(信頼)を依存しないでください。

トランザクションが正しいデータに対して行われていることを確認するために、常にサーバー側の検証を行ってください。クライアント側は、アプリをよりインタラクティブで応答性の高いものにする必要があります。

于 2012-08-21T13:02:57.983 に答える
0

data- *属性に格納されているデータは、他のクライアントデータと同じように扱う必要があると思います。つまり、データを信頼せず、サーバー上で適切に検証する必要があります。

于 2012-08-21T13:02:25.673 に答える