Documentation
¶
Index ¶
- type CaddyProtector
- func (*CaddyProtector) CaddyModule() caddy.ModuleInfo
- func (bb *CaddyProtector) Cleanup() error
- func (bb *CaddyProtector) Provision(ctx caddy.Context) error
- func (bb *CaddyProtector) ServeHTTP(w http.ResponseWriter, r *http.Request, next caddyhttp.Handler) error
- func (bb *CaddyProtector) UnmarshalCaddyfile(d *caddyfile.Dispenser) error
- func (bb *CaddyProtector) Validate() error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CaddyProtector ¶
type CaddyProtector struct {
// Complexity definiert die Anzahl benötigter führender Null-Bits in
// BLAKE3(seed || nonce).
Complexity string `json:"complexity,omitempty"`
// ValidFor bestimmt die Gültigkeitsdauer einer offenen Challenge.
ValidFor caddy.Duration `json:"valid_for,omitempty"`
// TemplatePath ist der Pfad zu einem benutzerdefinierten HTML-Template.
TemplatePath string `json:"template,omitempty"`
// CSPScriptSrc definiert zusaetzliche Quellen, die in der script-src CSP-Direktive erlaubt werden.
CSPScriptSrc []string `json:"csp_script_src,omitempty"`
// DisableCSPHeader deaktiviert den von CaddyProtector gesetzten CSP-Header.
DisableCSPHeader bool `json:"disable_csp_header,omitempty"`
// AllowFor bestimmt, wie lange ein erfolgreicher Client freigegeben bleibt.
AllowFor caddy.Duration `json:"allow_for,omitempty"`
// VerifyPath ist der interne POST-Endpunkt für die Verifikation.
VerifyPath string `json:"verify_path,omitempty"`
// MaxChallengeAttempts bestimmt, wie viele Challenge-Seiten ein Client
// abrufen darf, bevor er temporär blockiert wird.
MaxChallengeAttempts int `json:"max_challenge_attempts,omitempty"`
// MaxPendingChallenges begrenzt die Anzahl serverseitig gespeicherter,
// noch nicht gelöster Challenges.
MaxPendingChallenges int `json:"max_pending_challenges,omitempty"`
// BlockFor bestimmt, wie lange ein Client nach zu vielen Challenge-Abrufen
// blockiert bleibt.
BlockFor caddy.Duration `json:"block_for,omitempty"`
// WhitelistIPs sind IPs oder CIDR-Praefixe, die ohne Challenge weitergelassen werden.
WhitelistIPs []string `json:"whitelist_ip,omitempty"`
// WhitelistFile verweist auf eine Datei mit IP- oder CIDR-Eintraegen.
WhitelistFile string `json:"whitelist_file,omitempty"`
// WhitelistURL verweist auf eine URL mit IP- oder CIDR-Eintraegen.
WhitelistURL string `json:"whitelist_url,omitempty"`
// WhitelistRefresh bestimmt das Refresh-Intervall fuer Datei- und URL-Quellen.
WhitelistRefresh caddy.Duration `json:"whitelist_refresh,omitempty"`
// WhitelistCountries begrenzt Requests auf bestimmte ISO-3166-1-Alpha-2-Laender.
WhitelistCountries []string `json:"whitelist_country,omitempty"`
// BlacklistIPs sind IPs oder CIDR-Praefixe, die sofort gesperrt werden.
BlacklistIPs []string `json:"blacklist_ip,omitempty"`
// BlacklistFile verweist auf eine Datei mit IP- oder CIDR-Eintraegen.
BlacklistFile string `json:"blacklist_file,omitempty"`
// BlacklistURL verweist auf eine URL mit IP- oder CIDR-Eintraegen.
BlacklistURL string `json:"blacklist_url,omitempty"`
// BlacklistRefresh bestimmt das Refresh-Intervall fuer Datei- und URL-Quellen.
BlacklistRefresh caddy.Duration `json:"blacklist_refresh,omitempty"`
// BlacklistCountries sperrt Requests aus bestimmten ISO-3166-1-Alpha-2-Laendern.
BlacklistCountries []string `json:"blacklist_country,omitempty"`
// CountryURL verweist auf eine MaxMind-MMDB fuer Country-Lookups.
CountryURL string `json:"country_url,omitempty"`
// CountryRefresh bestimmt das Refresh-Intervall fuer die Country-MMDB.
CountryRefresh caddy.Duration `json:"country_url_refresh,omitempty"`
// contains filtered or unexported fields
}
CaddyProtector ist ein Caddy-Middleware-Modul, das vor dem Zugriff auf HTTP-Ressourcen das Lösen einer Rechen-Challenge verlangt.
func (*CaddyProtector) CaddyModule ¶
func (*CaddyProtector) CaddyModule() caddy.ModuleInfo
func (*CaddyProtector) Cleanup ¶
func (bb *CaddyProtector) Cleanup() error
func (*CaddyProtector) Provision ¶
func (bb *CaddyProtector) Provision(ctx caddy.Context) error
Provision initialisiert das Modul, den Logger und die Standardwerte.
func (*CaddyProtector) ServeHTTP ¶
func (bb *CaddyProtector) ServeHTTP(w http.ResponseWriter, r *http.Request, next caddyhttp.Handler) error
ServeHTTP prüft den Challenge-Status oder liefert eine Challenge-Seite aus.
func (*CaddyProtector) UnmarshalCaddyfile ¶
func (bb *CaddyProtector) UnmarshalCaddyfile(d *caddyfile.Dispenser) error
UnmarshalCaddyfile liest die Konfiguration aus dem Caddyfile.
func (*CaddyProtector) Validate ¶
func (bb *CaddyProtector) Validate() error
Validate prüft die Konfiguration.
Click to show internal directories.
Click to hide internal directories.