mirror of
https://github.com/phishingclub/phishingclub.git
synced 2026-02-12 16:12:44 +00:00
add proxy remove header by regex support
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
This commit is contained in:
@@ -2841,7 +2841,21 @@ func (m *ProxyHandler) applyEarlyRequestHeaderReplacements(req *http.Request, re
|
||||
m.logger.Errorw("invalid early request_header replacement regex", "error", err)
|
||||
continue
|
||||
}
|
||||
|
||||
// check if this is a header deletion rule (empty replace)
|
||||
isDelete := replacement.Replace == ""
|
||||
|
||||
// collect headers to delete (can't modify map while iterating)
|
||||
var headersToDelete []string
|
||||
|
||||
for headerName, values := range req.Header {
|
||||
fullHeader := headerName + ": " + values[0]
|
||||
if re.MatchString(fullHeader) && isDelete {
|
||||
// mark header for deletion
|
||||
headersToDelete = append(headersToDelete, headerName)
|
||||
continue
|
||||
}
|
||||
|
||||
newValues := make([]string, 0, len(values))
|
||||
for _, val := range values {
|
||||
fullHeader := headerName + ": " + val
|
||||
@@ -2858,6 +2872,11 @@ func (m *ProxyHandler) applyEarlyRequestHeaderReplacements(req *http.Request, re
|
||||
}
|
||||
req.Header[headerName] = newValues
|
||||
}
|
||||
|
||||
// delete marked headers
|
||||
for _, headerName := range headersToDelete {
|
||||
req.Header.Del(headerName)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user