mirror of
https://github.com/TeaOSLab/EdgeNode.git
synced 2025-11-21 05:40:26 +08:00
增加防盗链拦截时默认提示文字
This commit is contained in:
@@ -25,10 +25,10 @@ const httpStatusPageTemplate = `<!DOCTYPE html>
|
||||
</html>`
|
||||
|
||||
func (this *HTTPRequest) write404() {
|
||||
this.writeCode(http.StatusNotFound)
|
||||
this.writeCode(http.StatusNotFound, "", "")
|
||||
}
|
||||
|
||||
func (this *HTTPRequest) writeCode(statusCode int) {
|
||||
func (this *HTTPRequest) writeCode(statusCode int, enMessage string, zhMessage string) {
|
||||
if this.doPage(statusCode) {
|
||||
return
|
||||
}
|
||||
@@ -42,7 +42,17 @@ func (this *HTTPRequest) writeCode(statusCode int) {
|
||||
case "requestId":
|
||||
return this.requestId
|
||||
case "message":
|
||||
return "" // 空
|
||||
var acceptLanguages = this.RawReq.Header.Get("Accept-Language")
|
||||
if len(acceptLanguages) > 0 {
|
||||
var index = strings.Index(acceptLanguages, ",")
|
||||
if index > 0 {
|
||||
var firstLanguage = acceptLanguages[:index]
|
||||
if firstLanguage == "zh-CN" {
|
||||
return zhMessage
|
||||
}
|
||||
}
|
||||
}
|
||||
return enMessage
|
||||
}
|
||||
return "${" + varName + "}"
|
||||
})
|
||||
|
||||
@@ -18,7 +18,7 @@ func (this *HTTPRequest) doRequestLimit() (shouldStop bool) {
|
||||
// TODO 处理分片提交的内容
|
||||
if this.web.RequestLimit.MaxBodyBytes() > 0 &&
|
||||
this.RawReq.ContentLength > this.web.RequestLimit.MaxBodyBytes() {
|
||||
this.writeCode(http.StatusRequestEntityTooLarge)
|
||||
this.writeCode(http.StatusRequestEntityTooLarge, "", "")
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ func (this *HTTPRequest) doRequestLimit() (shouldStop bool) {
|
||||
clientConn, ok := requestConn.(ClientConnInterface)
|
||||
if ok && !clientConn.IsBound() {
|
||||
if !clientConn.Bind(this.ReqServer.Id, this.requestRemoteAddr(true), this.web.RequestLimit.MaxConns, this.web.RequestLimit.MaxConnsPerIP) {
|
||||
this.writeCode(http.StatusTooManyRequests)
|
||||
this.writeCode(http.StatusTooManyRequests, "", "")
|
||||
this.Close()
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ func (this *HTTPRequest) doCheckReferers() (shouldStop bool) {
|
||||
}
|
||||
|
||||
this.tags = append(this.tags, "refererCheck")
|
||||
this.writer.WriteHeader(http.StatusForbidden)
|
||||
this.writeCode(http.StatusForbidden, "The referer has been blocked.", "当前访问已被防盗链系统拦截。")
|
||||
|
||||
return true
|
||||
}
|
||||
@@ -31,14 +31,14 @@ func (this *HTTPRequest) doCheckReferers() (shouldStop bool) {
|
||||
}
|
||||
|
||||
this.tags = append(this.tags, "refererCheck")
|
||||
this.writer.WriteHeader(http.StatusForbidden)
|
||||
this.writeCode(http.StatusForbidden, "The referer has been blocked.", "当前访问已被防盗链系统拦截。")
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
if !this.web.Referers.MatchDomain(this.ReqHost, u.Host) {
|
||||
this.tags = append(this.tags, "refererCheck")
|
||||
this.writer.WriteHeader(http.StatusForbidden)
|
||||
this.writeCode(http.StatusForbidden, "The referer has been blocked.", "当前访问已被防盗链系统拦截。")
|
||||
return true
|
||||
}
|
||||
return
|
||||
|
||||
@@ -173,7 +173,7 @@ func (this *HTTPRequest) checkWAFRequest(firewallPolicy *firewallconfigs.HTTPFir
|
||||
if countryId > 0 && lists.ContainsInt64(regionConfig.DenyCountryIds, countryId) {
|
||||
this.firewallPolicyId = firewallPolicy.Id
|
||||
|
||||
this.writeCode(http.StatusForbidden)
|
||||
this.writeCode(http.StatusForbidden, "", "")
|
||||
this.writer.Flush()
|
||||
this.writer.Close()
|
||||
|
||||
@@ -192,7 +192,7 @@ func (this *HTTPRequest) checkWAFRequest(firewallPolicy *firewallconfigs.HTTPFir
|
||||
if provinceId > 0 && lists.ContainsInt64(regionConfig.DenyProvinceIds, provinceId) {
|
||||
this.firewallPolicyId = firewallPolicy.Id
|
||||
|
||||
this.writeCode(http.StatusForbidden)
|
||||
this.writeCode(http.StatusForbidden, "", "")
|
||||
this.writer.Flush()
|
||||
this.writer.Close()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user