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()); }
public override string ToHeaderString(CspVersion version) { if (UnsafeAllowInline == false && HasNoSources()) return ""; return GetDirectiveName(version) + " " + (UnsafeAllowInline ? "'unsafe-inline' " : "") + ImplodeSources(); }
public override string ToHeaderString(CspVersion version) { if (HasNoSources()) return ""; return GetDirectiveName(version) + (IncludeSelf ? " 'self' " : " ") + ImplodeSources(); }
public override string ToHeaderString(CspVersion version) { if (UnsafeAllowInline == false && HasNoSources()) { return(""); } return(GetDirectiveName(version) + " " + (UnsafeAllowInline ? "'unsafe-inline' " : "") + ImplodeSources()); }
public override string ToHeaderString(CspVersion version) { if (HasNoSources()) { return(""); } return(GetDirectiveName(version) + (IncludeSelf ? " 'self' " : " ") + ImplodeSources()); }
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); }
public abstract string ToHeaderString(CspVersion version);
public virtual string GetDirectiveName(CspVersion version) { return(_directiveName); }
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(); }
public virtual string GetDirectiveName(CspVersion version) { return _directiveName; }