mirror of
https://github.com/asdlokj1qpi233/subconverter.git
synced 2026-11-03 02:02:24 +00:00
Fix a potential loop request bug which may cause server to overload
This commit is contained in:
2 files changed
+9
-1
No files matched your search
@@ -16,6 +16,8 @@
|
||||
#include "webserver.h"
|
||||
#include "socket.h"
|
||||
|
||||
extern std::string user_agent_str;
|
||||
|
||||
struct responseRoute
|
||||
{
|
||||
std::string method;
|
||||
@@ -76,6 +78,12 @@ void OnReq(evhttp_request *req, void *args)
|
||||
int retVal;
|
||||
std::string postdata, content_type, return_data;
|
||||
|
||||
if(user_agent_str.compare(evhttp_find_header(req->input_headers, "User-Agent")) == 0)
|
||||
{
|
||||
evhttp_send_error(req, 500, "Loop request detected!");
|
||||
return;
|
||||
}
|
||||
|
||||
if(EVBUFFER_LENGTH(req->input_buffer) != 0)
|
||||
{
|
||||
postdata.assign((char *)EVBUFFER_DATA(req->input_buffer), EVBUFFER_LENGTH(req->input_buffer));
|
||||
|
||||
Reference in new issue
Block a user