git 무차별 공격 대비용 임시 방어조치
This commit is contained in:
parent
443b16a8b0
commit
fc28b9fd0d
|
@ -10,43 +10,34 @@ namespace Server.System
|
|||
public static Thread thread;
|
||||
|
||||
private static AbstractGit git;
|
||||
public static ErrorResp successResp;
|
||||
|
||||
public static async Task<string> Process(HttpContext context)
|
||||
{
|
||||
//TODO 아무때나 호출되지 않게 만들기
|
||||
string Response;
|
||||
try
|
||||
{
|
||||
string eaDelivery = context.Request.Headers["X-Gitea-Delivery"];
|
||||
string eaEvent = context.Request.Headers["X-Gitea-Event"];
|
||||
string eaEventType = context.Request.Headers["X-Gitea-Event-Type"];
|
||||
string eaSignature = context.Request.Headers["X-Gitea-Signature"];
|
||||
|
||||
Console.WriteLine($"X-Gitea-Delivery : {eaDelivery}");
|
||||
Console.WriteLine($"X-Gitea-Event : {eaEvent}");
|
||||
Console.WriteLine($"X-Gitea-Event-Type : {eaEventType}");
|
||||
Console.WriteLine($"X-Gitea-Signature : {eaSignature}");
|
||||
logger.Info($"SaveVersion : {eaDelivery}");
|
||||
|
||||
//task를 쓰면 멈출수가 없기에 thread를 사용
|
||||
if (thread.ThreadState == ThreadState.Unstarted)
|
||||
{
|
||||
thread.Start();
|
||||
}
|
||||
else if (thread.ThreadState == ThreadState.Stopped)
|
||||
Response = successResp.ToJson();
|
||||
|
||||
//무작위 공격을 대비한 1차적인 방어조치
|
||||
if (eaDelivery == "" || eaDelivery.Length < 15)
|
||||
return Response;
|
||||
|
||||
if (thread.ThreadState == ThreadState.Stopped)
|
||||
{
|
||||
logger.Info("new excel update");
|
||||
thread = new Thread(git.Init);
|
||||
thread.Start();
|
||||
}
|
||||
else if (thread.ThreadState == ThreadState.WaitSleepJoin || thread.ThreadState == ThreadState.Running)
|
||||
{
|
||||
logger.Info("new excel restart");
|
||||
git.isRestart = true;
|
||||
}
|
||||
|
||||
|
||||
ErrorResp error = new ErrorResp();
|
||||
error.status = 200;
|
||||
error.message = "Success";
|
||||
Response = error.ToJson();
|
||||
}
|
||||
catch (RuntimeException ex)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue