W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
默認情況下,模板引擎對所有的變量輸出并沒有使用?HTML
?轉(zhuǎn)碼處理,也就是說,如果開發(fā)者處理不好,可能會存在?XSS
?漏洞。
不用擔心,?GoFrame
?框架當然已經(jīng)充分考慮到這點,并且為開發(fā)者提供了比較靈活的配置參數(shù)來控制是否默認轉(zhuǎn)義變量輸出的?HTML
?內(nèi)容。該特性可以通過?AutoEncode
?配置項,或者?SetAutoEncode
?方法來開啟/關(guān)閉。
需要注意的是,該特性并不會影響?include
?模板的內(nèi)置函數(shù)。
使用示例:
1、配置文件
[viewer]
delimiters = ["${", "}"]
autoencode = true
2、示例代碼
package main
import (
"context"
"fmt"
"github.com/gogf/gf/v2/frame/g"
)
func main() {
result, _ := g.View().ParseContent(context.TODO(), "姓名: ${.name}", g.Map{
"name": "<script>alert('john');</script>",
})
fmt.Println(result)
}
3、執(zhí)行輸出
姓名: <script>alert('john');</script>
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: