调整类重载,修复部分BUG,增加请求头检查

This commit is contained in:
UnknownObject
2026-08-05 14:15:47 +08:00
parent 557cc8b995
commit 0d50588ea7
30 changed files with 1816 additions and 157 deletions
+5 -5
View File
@@ -82,13 +82,13 @@ uns::ResponsePtr CORSProcessor::Processor(uns::RequestPtr request)
std::string host = request->HasHeader("Host") ? request->GetHeader("Host") : "";
if ((!host.empty()) && (!GlobalCORSConfig.HostValidate(host)))
{
SCLOG_WARNING("Rejected by Host check: %s", host.c_str());
SCLOGF_WARNING("Rejected by Host check: {}", host);
return uns::ResponseBuilder().Forbidden().EmptyBody()();
}
if(!GlobalCORSConfig.UrlValidate(origin))
{
SCLOG_WARNING("Invalid CORS Origin: %s", origin.c_str());
SCLOGF_WARNING("Invalid CORS Origin: {}", origin);
return uns::ResponseBuilder().Forbidden().EmptyBody()();
}
@@ -101,7 +101,7 @@ uns::ResponsePtr CORSProcessor::Processor(uns::RequestPtr request)
for(const auto& method : acrm_values)
if(!GlobalCORSConfig.IsMethodAllowed(method))
{
SCLOG_WARNING("Invalid CORS Method: %s (All Methods: %d)", method.c_str(), acrm.c_str());
SCLOGF_WARNING("Invalid CORS Method: {} (All Methods: {})", method, acrm);
return uns::ResponseBuilder().NotAcceptable().EmptyBody()();
}
@@ -120,7 +120,7 @@ uns::ResponsePtr CORSProcessor::Processor(uns::RequestPtr request)
auto valid_headers = GlobalCORSConfig.GetValidateHeaders(acrh_values);
if((!acrh_values.empty()) && valid_headers.empty())
{
SCLOG_WARNING("Invalid CORS Header(s): %s", acrh.c_str());
SCLOGF_WARNING("Invalid CORS Header(s): {}", acrh);
return uns::ResponseBuilder().NotAcceptable().EmptyBody()();
}
@@ -131,7 +131,7 @@ uns::ResponsePtr CORSProcessor::Processor(uns::RequestPtr request)
return uns::ResponseBuilder().Forbidden().EmptyBody()();
}
SCLOG_INFO("CORS preflight allow origin=%s methods=%s headers=%s cred=%d", origin.c_str(), allow_methods_value.c_str(), valid_headers.c_str(), GlobalCORSConfig.AllowCookie() ? 1 : 0);
SCLOGF_INFO("CORS preflight allow origin={} methods={} headers={} cred={}", origin, allow_methods_value, valid_headers, GlobalCORSConfig.AllowCookie() ? 1 : 0);
return uns::ResponseBuilder().CORS_Full(origin, acrh_values).NoContent().EmptyBody()();
}