mirror of
https://github.com/TeaOSLab/EdgeNode.git
synced 2025-11-03 23:20:25 +08:00
* 信息加密使用struct代替map,以缩短加密后内容长度 * 拦截动作、人机识别动作增加是否尝试全局封禁选项 * JSCookie识别动作增加默认设置选项 * 人机识别中传入info参数异常时,尝试跳转到来源地址,避免直接提示invalid request
45 lines
978 B
Go
45 lines
978 B
Go
// Copyright 2024 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
|
|
|
package waf_test
|
|
|
|
import (
|
|
"github.com/TeaOSLab/EdgeNode/internal/waf"
|
|
"github.com/iwind/TeaGo/types"
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func TestInfoArg_Encode(t *testing.T) {
|
|
var info = &waf.InfoArg{
|
|
ActionId: 1,
|
|
Timestamp: time.Now().Unix(),
|
|
URL: "https://example.com/hello",
|
|
PolicyId: 2,
|
|
GroupId: 3,
|
|
SetId: 4,
|
|
UseLocalFirewall: true,
|
|
Scope: "global",
|
|
}
|
|
|
|
encodedString, err := info.Encode()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
t.Log("["+types.String(len(encodedString))+"]", encodedString)
|
|
|
|
{
|
|
urlEncodedString, encodeErr := info.URLEncoded()
|
|
if encodeErr != nil {
|
|
t.Fatal(encodeErr)
|
|
}
|
|
t.Log("["+types.String(len(urlEncodedString))+"]", urlEncodedString)
|
|
}
|
|
|
|
var info2 = &waf.InfoArg{}
|
|
err = info2.Decode(encodedString)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
t.Logf("%+v", info2)
|
|
}
|