Add comprehensive security improvements across the application: - **IP-based login protection**: Implement IP ban system tracking login failures, auto-banning after threshold exceeded - **Ownership verification**: Add userID parameter to Delete/Update operations for posts and comments to prevent unauthorized modifications - **SSRF protection**: Add URL and resolved host validation for image URLs in chat and OpenAI client - **SQL injection prevention**: Add EscapeLikeWildcard utility to escape special characters in LIKE queries - **HTTP security**: Configure server timeouts and add security headers middleware - **Rate limiting**: Refactor to support configurable duration and per-endpoint rate limits for auth routes - **Error handling**: Standardize error responses using HandleError and proper error types
11 lines
159 B
Go
11 lines
159 B
Go
package utils
|
|
|
|
import "strings"
|
|
|
|
func EscapeLikeWildcard(s string) string {
|
|
return strings.NewReplacer(
|
|
`\`, `\\`,
|
|
"%", `\%`,
|
|
"_", `\_`,
|
|
).Replace(s)
|
|
} |