0

我在 Go 中使用dvwright/xss-mw中间件来检测 xss。此中间件会自动从用户提交的输入中删除 xss,并且请求会以有效响应继续。我想检测 xss,如果有任何 xss 脚本,然后通过错误而不是简单地删除 xss。

我的代码在这里。

package main

import (
    "github.com/dvwright/xss-mw"
    "github.com/gin-gonic/gin"
    "net/http"
)

func main() {
    r := gin.Default()

    // include as standard middleware
    var xssMdlwr xss.XssMw
    r.Use(xssMdlwr.RemoveXss())

    r.GET("/ping", func(c *gin.Context) {
        c.JSON(200, gin.H{
            "message": "pong",
        })
    })


    type Login struct {
        User     string `form:"user" json:"user" binding:"required"`
        Password string `form:"password" json:"password" binding:"required"`
    }

    r.POST("/login", func(c *gin.Context) {
        var json Login
        if c.BindJSON(&json) == nil {
            if json.User == "manu" && json.Password == "123" {
                c.JSON(http.StatusOK, gin.H{"status": "you are logged in"})
            } else {
                c.JSON(http.StatusUnauthorized, gin.H{"status": "unauthorized"})
            }
        }
    })


    r.Run() // listen and serve on 0.0.0.0:8080
}

请帮帮我。

4

0 回答 0