エンティティフレームワークを使用するASP.NET MVC Webアプリケーションを構築しています。ユーザー入力はデータベースに格納され、後でその一部が表示されます。クロスサイトスクリプティングを防ぐため、挿入前にAntiXssEncoder.HTMLEncode()を使用してデータベースに保存されたすべてのユーザー入力データを実行します。私は関数を使ってすべてのフィールドを手動で実行できることを知っています。しかし、私はより効率的な方法があるかどうか疑問に思っています。たとえば、データを保存する前にこのロジックを追加するようにDBConextクラスを変更します。今、私はこのようなものを持っています:エンティティフレームワーク - 何らかの方法で挿入する前にAntiXssEncoder.HTMLEncode()を挿入します。
[HttpPost]
public ActionResult ModuleOne(ModuleOneData formData)
{
ModuleOneViewModel vm = new ModuleOneViewModel();
HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];
FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(authCookie.Value);
Int32 newHireID = Convert.ToInt32(ticket.Name);
Employee newHire = dbContext.Employees.FirstOrDefault(e => e.EmployeeID == newHireID);
String sigFileName = "";
// Pay Selection
newHire.PaySelection = AntiXssEncoder.HtmlEncode(formData.PaySelection, false);
newHire.PaySelectionDate = formData.PaySelectionDate;
newHire.PaySelectionSignature = formData.PaySelectionDate;
など、もっと多くのフィールドがあります。 また、着信POSTデータをループしてこの機能を適用する方法はありますか?参考までに、ModuleOneDataは次のようになります。
public class ModuleOneData
{
public int EmployeeID { get; set; }
public String PaySelection { get; set; }
public String PaySelectionSignature { get; set; }
public String PaySelectionDate { get; set; }
public String PaySelectionAccountType { get; set; }
public String PaySelectionAccountNumber { get; set; }
public String PaySelectionRoutingNumber { get; set; }
public HttpPostedFileBase PaySelectionCheck { get; set; }
public String DirectDepositInitials { get; set; }
public String MoneyNetworkInitials { get; set; }
public String WorkCompSignature { get; set; }
public String WorkCompSignatureDate { get; set; }
public String JobDescriptionSignature { get; set; }
public String JobDescriptionSignatureDate { get; set; }
public String MemoSignature { get; set; }
public String MemoSignatureDate { get; set; }
public String CriminalCheckSignature { get; set; }
public String CriminalCheckDate { get; set; }
public String AgeAcknowledgmentSig { get; set; }
public String AgeAcknowledgmentSigDate { get; set; }
public String DocumentReceiptSignature { get; set; }
public String DocumentReceiptDate { get; set; }
public String HandbookSignature { get; set; }
public String HandbookSignatureDate { get; set; }
public String DatingPolicySignature { get; set; }
public String DatingPolicyDate { get; set; }
public String UniformReceiptSignature { get; set; }
public String UniformReceiptDate { get; set; }
public string ageSigData { get; set; }
public string paySigData { get; set; }
public string workCompSigData { get; set; }
public string jobSigData { get; set; }
public string documentSigData { get; set; }
public string handbookSigData { get; set; }
public string uniformSigData { get; set; }
public string criminalSigData { get; set; }
public string harassmentSigData { get; set; }
public string datingSigData { get; set; }
}
ありがとうございます。