公共の場所にあるコンピューターで認証なしで使用できるアプリケーションがあります。これは、ユーザーが結婚許可証を申請できるシンプルな 4 ページの申請書です。一部のオフィスには、申請者が事務員に進む前に自分の情報を記入できる公共のコンピューター キオスクがあります。また、オフィスに行く前に自宅で行うこともできます。ユーザーが以前のユーザーの入力にアクセスできないようにするには、どのような考慮事項を行う必要がありますか? 一部のフォーム データには、生年月日、社会保障番号、母の旧姓などの機密情報が含まれます。
1.オートコンプリートを無効にする
これまでのところ、マスター ページのフォーム タグで autocomplete=false を設定しました。
<form id="frmMain" runat="server" autocomplete="false">
2.ページキャッシュを無効にする
IE と FF ではページ キャッシュを無効にすることもできましたが、Safari と Chrome ではできません。裏技知ってる人いますか?戻るボタンを押すと、Safari と Chrome でフォームに入力されたデータが表示されます。
// Disables page-caching in IE
Response.Cache.SetAllowResponseInBrowserHistory(false);
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
Response.Expires = 0;
// HACK: fixes Firefoxes cache issue
Response.AddHeader("ETag", new Random().Next(1111111, 9999999).ToString());
3. セッションを管理する
また、n 分後にセッションを強制終了するタイマーを各ページに実装しました。セッションは、ページが以前に入力されたデータをロードするために使用する現在のアプリケーション ID を保持します。ボタンをクリックすることで、より多くの時間を得ることができます。タイマーが切れると、メイン ページにリダイレクトされ、Page_Load でセッションを強制終了します。ユーザーが「完了/送信」ボタンをクリックしたときにも、このページにリダイレクトします。セッションが強制終了されると、URL でページに移動しても、以前のアプリケーションは読み込まれません。新品扱いとなります。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
Session.Abandon();
}
4.他に何をすればいいですか?
Your awesome suggestions/tips here