CSRF 방어하기
Function Host_Fun(Host)
Host = Replace(Host, "http://", "")
Host = Replace(Host, "https://", "")
Host_Fun = Host
End Function
'' CSRF 방어하기
Sub CSRF_Token
' 현재파일의 폴더까지의 위치확인
InStrLen = InStrRev(Request.ServerVariables("http_host")&Request.ServerVariables("http_url"),"/")
' 글을 입력받는 URI 확인(http:// 를 제외)
http_referer = Left(Host_Fun(Request.ServerVariables("http_referer")), InStrLen)
' 글을 입력하는 페이지
now_url = Left(Request.ServerVariables("http_host")&Request.ServerVariables("http_url"), InStrLen)
If ( http_referer <> now_url ) Then
Response.Write "<script>"&VbCrLf
Response.Write "<!--"&VbCrLf
Response.Write "window.alert('잘못된경로로접근하셨습니다!');"&VbCrLf
Response.Write "window.history.back();"&VbCrLf
Response.Write "//-->"&VbCrLf
Response.Write "</script>"&VbCrLf
Response.End
End If
End Sub
' 모든페이지 글등록 처리
If InStr(Request.ServerVariables("http_url"), "_ok") > 0 Then
Call CSRF_Token
End If