Wednesday, April 23, 2014

C# XSSCheck code for the tech blog



 private void CreateXSSCheck()
    {
      if (!Page.ClientScript.IsClientScriptBlockRegistered("XSSCheck"))
      {
        string sUniqueID = UserLogin.UniqueID.ToString().Replace(Convert.ToChar("$"), Convert.ToChar("_"));
        StringBuilder sbCheck = new StringBuilder();
        sbCheck.Append("function CheckXSS()\n");
        sbCheck.Append("{\n");
        sbCheck.Append("var IsChecked = true;\n");
        sbCheck.Append("IsChecked = CheckValue(document.getElementById('{0}_UserName').value);\n");
        sbCheck.Append("if (IsChecked)\n");
        sbCheck.Append("{\n");
        sbCheck.Append("IsChecked = CheckValue(document.getElementById('{0}_Password').value);\n");
        sbCheck.Append("}\n");
        sbCheck.Append("if (!IsChecked)\n");
        sbCheck.Append("{\n");
        sbCheck.Append("alert('Invalid data entered for UserName and/or Password');\n");
        sbCheck.Append("}\n");
        sbCheck.Append("if (!IsChecked)\n");
        sbCheck.Append("{\n");
        sbCheck.Append("document.getElementById('{0}_UserName').value = '';\n");
        sbCheck.Append("document.getElementById('{0}_Password').value = '';\n");
        sbCheck.Append("document.getElementById('{0}_UserName').focus();\n");
        sbCheck.Append("}\n");
        sbCheck.Append("return IsChecked;\n");
        sbCheck.Append("}\n");
        Page.ClientScript.RegisterClientScriptBlock(this.Page.GetType(), "XSSCheck", sbCheck.ToString().Replace("{0}", sUniqueID), true);
      }
      this.Form.Attributes.Add("onsubmit", "Javascript: return CheckXSS();");
    }


    private void AddPrivacyScript()
    {
      Page.ClientScript.RegisterClientScriptBlock(this.Page.GetType(), "OpenPrivacyPolicy", PrivacyPolicy(), true);
      lnkPrivay.OnClientClick = "javascript: return OpenPrivacyPolicy();";
    }


    protected string PrivacyPolicy()
    {
      string[] strIP = HttpContext.Current.Request.Url.ToString().Split(Convert.ToChar("/"));

      string sURL;

      HttpCookie myCookie = new HttpCookie("Theme");
      myCookie = Request.Cookies["Theme"];

      if (myCookie != null)
      {
        switch (myCookie.Value)
        {
          case "AnthemBCBS":
            sURL = "http://www.mywebsitesetup.com/default.htm&rootLevel=3&label=PrivacyStatement";
            break;
          default:
            sURL = "/PrivacyNotice.aspx";
            break;
        }
      }
      else
      {
        sURL = "/PrivacyNotice.aspx";
      }

      StringBuilder sbPrivacy = new StringBuilder();
      sbPrivacy.Append("function OpenPrivacyPolicy()\n");
      sbPrivacy.Append("{\n");
      sbPrivacy.Append("document.open('{0}', '', 'resizable=1,scrollbars=1,width=500,height=500');\n");
      sbPrivacy.Append("return false;\n");
      sbPrivacy.Append("}\n");
      return sbPrivacy.ToString().Replace("{0}", sURL);
    }



    public ParticipantWebServices.Ras.Commuter.CommuterAccountSummary[] GetCommuterAccountSummaryList(Security.ParticipantAccount account)
    {
      string key = string.Format("{0}:{1}:{2}", "CommuterAccountSummaryList", account.ServerId, account.ParticipantId);

      ParticipantWebServices.Ras.Commuter.CommuterAccountSummary[] summaries = HttpContext.Current.Cache[key] as ParticipantWebServices.Ras.Commuter.CommuterAccountSummary[];

      if (summaries == null)
      {
        using (var client = new SafeProxy<ParticipantWebServices.Ras.Commuter.CommuterAccountServiceClient>(new ParticipantWeb.ParticipantWebServices.Ras.Commuter.CommuterAccountServiceClient()))
        {
          summaries = client.Proxy.GetCommuterAccountSummary(account.ServerId, account.ParticipantId, DateTime.Now);
          HttpContext.Current.Cache.Add(key, summaries, null, System.Web.Caching.Cache.NoAbsoluteExpiration, new TimeSpan(0, GetCacheDuration(), 0), System.Web.Caching.CacheItemPriority.Normal, null);
        }
      }
      return summaries;
    }

No comments:

Post a Comment