コード例 #1
0
 public override string ToHeaderString(CspVersion version)
 {
     if (version == CspVersion.Ff4To7)
     {
         String header = "";
         if (UnsafeAllowEval || UnsafeAllowInline)
         {
             header = "options " + (UnsafeAllowEval ? "eval-script " : "") +
                      (UnsafeAllowInline ? "inline-script" : "") + ";";
         }
         if (HasNoSources())
         {
             return(header);
         }
         return(header + GetDirectiveName(version) + " " + ImplodeSources());
     }
     if (!UnsafeAllowInline && !UnsafeAllowEval && HasNoSources())
     {
         return("");
     }
     return(GetDirectiveName(version) + " "
            + (UnsafeAllowInline ? "'unsafe-inline' " : "")
            + (UnsafeAllowEval ? "'unsafe-eval' " : "")
            + ImplodeSources());
 }
コード例 #2
0
 public override string ToHeaderString(CspVersion version)
 {
     if (UnsafeAllowInline == false && HasNoSources()) return "";
     return GetDirectiveName(version) + " " + 
         (UnsafeAllowInline ? "'unsafe-inline' " : "")
            + ImplodeSources();
 }
コード例 #3
0
 public override string ToHeaderString(CspVersion version)
 {
     if (HasNoSources()) return "";
     return GetDirectiveName(version) 
         + (IncludeSelf ? " 'self' " : " ")
         + ImplodeSources();
 }
コード例 #4
0
 public override string ToHeaderString(CspVersion version)
 {
     if (UnsafeAllowInline == false && HasNoSources())
     {
         return("");
     }
     return(GetDirectiveName(version) + " " +
            (UnsafeAllowInline ? "'unsafe-inline' " : "")
            + ImplodeSources());
 }
コード例 #5
0
 public override string ToHeaderString(CspVersion version)
 {
     if (HasNoSources())
     {
         return("");
     }
     return(GetDirectiveName(version)
            + (IncludeSelf ? " 'self' " : " ")
            + ImplodeSources());
 }
コード例 #6
0
        public string GetHeaderValue(string useragent)
        {
            var        agent   = new Useragent(useragent);
            CspVersion version = agent.IsFirefox() ? CspVersion.Ff4To7 : CspVersion.Latest;

            return(_policyDirectives
                   .OrderBy(p => p.GetDirectiveName(version) == "options" ? "1" : ("2" + p.GetDirectiveName(version)))
                   .Select(p => p.ToHeaderString(version))
                   .Where(s => !string.IsNullOrEmpty(s))
                   .Aggregate((s1, s2) => s1 + "; " + s2)
                   + ReportUriPart);
        }
コード例 #7
0
 public abstract string ToHeaderString(CspVersion version);
コード例 #8
0
 public virtual string GetDirectiveName(CspVersion version)
 {
     return(_directiveName);
 }
コード例 #9
0
 public override string ToHeaderString(CspVersion version)
 {
     if (version == CspVersion.Ff4To7)
     {
         String header = "";
         if (UnsafeAllowEval || UnsafeAllowInline)
         {
             header = "options " + (UnsafeAllowEval ? "eval-script " : "") +
                      (UnsafeAllowInline ? "inline-script" : "") + ";";
         }
         if (HasNoSources()) return header;
         return header + GetDirectiveName(version) + " " + ImplodeSources();
     }
     if (!UnsafeAllowInline && !UnsafeAllowEval && HasNoSources()) return "";
     return GetDirectiveName(version) + " "
            + (UnsafeAllowInline ? "'unsafe-inline' " : "")
            + (UnsafeAllowEval ? "'unsafe-eval' " : "")
            + ImplodeSources();
 }
コード例 #10
0
 public abstract string ToHeaderString(CspVersion version);
コード例 #11
0
 public virtual string GetDirectiveName(CspVersion version)
 {
     return _directiveName;
 }