gowafp
位于您的Web服务器(NGINX)和FASTCGI应用程序之间的GO WAF(Web应用程序防火墙)。
nginx < - (tcp) - > gowafp < - (fastcgi) - > php-fpm
该软件包的目的是防止任何攻击到达FASTCGI应用程序。它应阻止所有SQL注入尝试并过滤XSS尝试。也许在路上也可以处理CSRF。
应用程序和Web应用程序防火墙不应在不同的服务器上。当那里的服务做得很好,但它们昂贵又慢。当然,您可以使用一些其他功能重新编译Web服务器,但是在扩展时很难部署。
用法
首先,您需要去获取回购。
go get github.com/levidurfee/ gowafp以下是简单的main.go 。
gowafp"
"log"
"net/http"
)
func main() {
http.Handle("/", gowafp .AnalyzeRequest( gowafp .PhpHandler("/app/index.php", "tcp", "127.0.0.1:9000")))
log.Fatal(http.ListenAndServe(":8080", nil))
}">
package main import ( "github.com/levidurfee/ gowafp " "log" "net/http" ) func main () { http . Handle ( "/" , gowafp . AnalyzeRequest ( gowafp . PhpHandler ( "/app/index.php" , "tcp" , "127.0.0.1:9000" ))) log . Fatal ( http . ListenAndServe ( ":8080" , nil )) }
然后构建并运行它。
go build main.go
./main下载源码
通过命令行克隆项目:
git clone https://github.com/levidurfee/gowafp.git