Compare commits
1 Commits
5ff7cdbdb5
...
fb5a203896
| Author | SHA1 | Date | |
|---|---|---|---|
| fb5a203896 |
@@ -1049,9 +1049,11 @@ the chi route pattern instead: `http://host/webhook/{uuid}`.
|
|||||||
The scheme and the host are kept, and everything else in the URL is
|
The scheme and the host are kept, and everything else in the URL is
|
||||||
discarded rather than edited, so a future SDK version that starts
|
discarded rather than edited, so a future SDK version that starts
|
||||||
appending a query string cannot widen this. The scheme has to survive
|
appending a query string cannot widen this. The scheme has to survive
|
||||||
for the reason given below. The host is operator configuration rather
|
for the reason given below. The host is whatever the request's `Host`
|
||||||
than anything a client chooses, it names which deployment the event
|
header carried — this service validates no hostname, so on a directly
|
||||||
came from, and it is already carried by the allowlisted `Host` header.
|
exposed deployment a client sets it — and that same header is on the
|
||||||
|
allowlist above, so scrubbing the host out of the URL would withhold
|
||||||
|
nothing that is not sent anyway.
|
||||||
|
|
||||||
The body, the query string and the URL are all handled on every route
|
The body, the query string and the URL are all handled on every route
|
||||||
rather than filtered by route. For the URL that is also what keeps the
|
rather than filtered by route. For the URL that is also what keeps the
|
||||||
|
|||||||
@@ -150,10 +150,11 @@ func sentryRoutePattern(hint *sentry.EventHint) string {
|
|||||||
// (interfaces.go:180), byte for byte the predicate
|
// (interfaces.go:180), byte for byte the predicate
|
||||||
// internal/middleware/csrf.go uses, so it is the CSRF TLS decision and
|
// internal/middleware/csrf.go uses, so it is the CSRF TLS decision and
|
||||||
// the reason dropping X-Forwarded-Proto from the header allowlist
|
// the reason dropping X-Forwarded-Proto from the header allowlist
|
||||||
// costs nothing. The host is kept because it names the deployment the
|
// costs nothing. The host is parsed.Host of the SDK's
|
||||||
// event came from and is already carried by the allowlisted Host
|
// scheme://r.Host/path, so it is whatever the client's Host header
|
||||||
// header; it is operator configuration, not a client-supplied or
|
// carried: this service validates no hostname. It is kept because that
|
||||||
// capability-bearing value.
|
// same header is on the allowlist, so scrubbing it here would withhold
|
||||||
|
// nothing that is not sent anyway.
|
||||||
//
|
//
|
||||||
// Everything else in the URL is discarded rather than edited, so a
|
// Everything else in the URL is discarded rather than edited, so a
|
||||||
// future SDK that starts appending a query string cannot widen this.
|
// future SDK that starts appending a query string cannot widen this.
|
||||||
|
|||||||
Reference in New Issue
Block a user