1

コードで非表示のフォームフィールドを何度も使用しています。要件に応じて、この/これらの非表示フィールドにいくつかの値を格納するので、JavaScriptコードから簡単にアクセスでき、PostBackを回避できます。しかし、私はいくつかのことを知りたかった

  1. 隠しフィールドにデータを入力するという点で、超えてはならない制限はありますか?
  2. 非表示フィールドを使用すると、何らかのセキュリティ上の脅威が発生しますか?

非表示のフォームフィールドに関するディスカッションを見つけましたが、すべてのクエリを満足させることはできませんでした。

リンクや説明をいただければ幸いです。

前もって感謝します

4

1 に答える 1

2

これは私が言うことです:

  1. メソッドとしてPOSTを使用している限り、通常、非表示のフォームフィールドの長さに制限はありません。GETフォームリクエストでフォームを使用したことはありません(たとえば、RESTfulサービスを使用)。GETリクエストの合計を2KB以下に抑えるのが最善のようですが、この制限は実際にはURLの最大長になり、ブラウザによって異なります。ブラウザに(これは、非常に大きなデータを複数の2k非表示フィールドにチャンク化することはGET送信では機能しないことを意味します)。

  2. 非表示のフォームフィールドを使用してユーザーのアプリケーションの状態に関する情報を保存している場合(.NETを使用してこれを管理する代わりに)、ユーザーがこれらのフィールドを変更できる(そしておそらく変更する)ことに注意する必要があります。期待します。ユーザーがフィールドを変更できないようにする場合は、予期しない変更を簡単に検出できるように(そして、少なくともユーザーの状態をクリアできるように)、データのハッシュまたはチェックサムを別の非表示変数に含める必要があります。Chrome、IE、Safari、Firefoxの最新のWebインスペクターパネルを使用すると、開発者が予期していなかった方法でページを簡単に変更できます。クライアントから返されるすべてのデータ(すべてのクエリ文字列、フォームフィールド、Cookie、リクエストヘッダーを含む)を汚染されたもの(つまり「危険」)として扱い、それに応じて行動します。

于 2012-05-12T12:15:38.360 に答える