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
