gowafp

其他类别 2025-08-20

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