Docker Swarm 是 Docker 官方提供的容器編排和集群管理工具,用于構建和管理多個 Docker 容器節點組成的集群。通過 Docker Swarm,用戶可以將多臺主機(物理機或虛擬機)組成一個統一的集群,從而實現容器的集中調度、部署和管理。
關鍵特性包括:
總之,Docker Swarm 提供了一種簡單但強大的方式來管理容器化應用程序的部署和擴展,在生產環境中被廣泛應用于構建容器集群,并為應用程序的高可用性和可擴展性提供支持。
[root@centos-7 ~]# docker swarm --help
Usage: docker swarm COMMAND
Manage Swarm
Commands:
ca Display and rotate the root CA
init Initialize a swarm
join Join a swarm as a node and/or manager
join-token Manage join tokens
leave Leave the swarm
unlock Unlock swarm
unlock-key Manage the unlock key
update Update the swarm
Run 'docker swarm COMMAND --help' for more information on a command.
可以看到其中有一個 init的命令,這就是初始化一個Swarm,我們再看看這個init的參數:
[root@centos-7 ~]# docker swarm init --help
Usage: docker swarm init [OPTIONS]
Initialize a swarm
Options:
--advertise-addr string Advertised address (format: <ip|interface>[:port])
--autolock Enable manager autolocking (requiring an unlock
key to start a stopped manager)
--availability string Availability of the node
("active"|"pause"|"drain") (default "active")
--cert-expiry duration Validity period for node certificates
(ns|us|ms|s|m|h) (default 2160h0m0s)
--data-path-addr string Address or interface to use for data path traffic
(format: <ip|interface>)
--data-path-port uint32 Port number to use for data path traffic (1024 -
49151). If no value is set or is set to 0, the
default port (4789) is used.
--default-addr-pool ipNetSlice default address pool in CIDR format (default [])
--default-addr-pool-mask-length uint32 default address pool subnet mask length (default 24)
--dispatcher-heartbeat duration Dispatcher heartbeat period (ns|us|ms|s|m|h)
(default 5s)
--external-ca external-ca Specifications of one or more certificate signing
endpoints
--force-new-cluster Force create a new cluster from current state
--listen-addr node-addr Listen address (format: <ip|interface>[:port])
(default 0.0.0.0:2377)
--max-snapshots uint Number of additional Raft snapshots to retain
--snapshot-interval uint Number of log entries between Raft snapshots
(default 10000)
--task-history-limit int Task history retention limit (default 5)
可以看到它有很多的參數,其中第一個就是將本機的地址添加進去,讓自己成為一個Manager節點,這樣其它的節點都可以知道這個節點的存在。
在此之前我們應該先知道自己本機的ip,以便于--advertise-addr string 這個參數使用,查看本機ip:
然后就可以初始化Manager節點:
[root@centos-7 ~]# docker swarm init --advertise-addr=192.168.0.108
Swarm initialized: current node (sz7bfcmk637qhqfvzqhdnk3t2) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-0zzpk3xqq2ykb5d5jcd6hqeimckhrg5qu82xs7nw2wwnwyjmzg-9tmof9880m9r92vz5rygaa42e 192.168.0.108:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
可以看到已經創建了一個swarm manager節點--advertise-addr參數的值192.168.0.108是自己的ip,相當于將自己加入到swarm中。它也說明了其它worker加入的方式。
另外再開啟一臺虛擬機,將這臺機器加入到swarm中成為worker節點:
[root@localhost ~]# docker swarm join --token SWMTKN-1-0zzpk3xqq2ykb5d5jcd6hqeimckhrg5qu82xs7nw2wwnwyjmzg-9tmof9880m9r92vz5rygaa42e
192.168.0.108:2377
This node joined a swarm as a worker.
可以看到已經成功了。
注意的是查看節點狀態只能在manager節點那臺機器上查看,普通節點無法執行查看命令:
[root@centos-7 ~]# docker node ls
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
sz7bfcmk637qhqfvzqhdnk3t2 * centos-7 Ready Active Leader 19.03.5
89tezea9ltn6mqek7b48gtve7 localhost.localdomain Ready Active 18.09.7
可以看到有兩臺機器了。
上面我們已經將節點創建好了,現在可以在這些節點上創建容器了,那么就需要看看docker service 的幫助信息:
[root@centos-7 ~]# docker service --help
Usage: docker service COMMAND
Manage services
Commands:
create Create a new service
inspect Display detailed information on one or more services
logs Fetch the logs of a service or task
ls List services
ps List the tasks of one or more services
rm Remove one or more services
rollback Revert changes to a service's configuration
scale Scale one or multiple replicated services
update Update a service
Run 'docker service COMMAND --help' for more information on a command.
可以看到有create這個命令,可以這樣理解,docker server create 相當于docker run 就是創建容器,只不過在swarm中是不同的表現方式。
[root@centos-7 docker]# docker service create --name demo busybox /bin/sh -c "while true; do sleep 3600; done "
image busybox:latest could not be accessed on a registry to record
its digest. Each node will access busybox:latest independently,
possibly leading to different nodes running different
versions of the image.
edqgwqjka7ceyym9tg4gr9uim
overall progress: 1 out of 1 tasks
1/1: running
verify: Service converged
可以查看是否創建成功:
[root@centos-7 docker]# docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
edqgwqjka7ce demo replicated 1/1 busybox:latest
可以具體看這個service的內容:
[root@centos-7 docker]# docker service ps demo
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
lshgq4gfi3cv demo.1 busybox:latest localhost.localdomain Running Running 2 minutes ago
之前接觸或scale,它可以幫助我們創建多個service,這里也是可行的:
[root@centos-7 docker]# docker service scale demo=5
demo scaled to 5
overall progress: 5 out of 5 tasks
1/5: running
2/5: running
3/5: running
4/5: running
5/5: running
verify: Service converged
已經有5個demo服務的容器正在運行了??梢韵瓤纯磗erverice:
[root@centos-7 docker]# docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
edqgwqjka7ce demo replicated 5/5 busybox:latest
再看看具體的容器數量:
[root@centos-7 docker]# docker service ps demo
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
lshgq4gfi3cv demo.1 busybox:latest localhost.localdomain Running Running 3 hours ago
vvxl3f5p1w40 demo.2 busybox:latest centos-7 Running Running 3 hours ago
q5imz8pqygbv demo.3 busybox:latest centos-7 Running Running 3 hours ago
ih6e2bhzzru2 demo.4 busybox:latest localhost.localdomain Running Running 3 hours ago
l32ziu7ygoqw demo.5 busybox:latest centos-7 Running Running 3 hours ago
可以看到5個容器在不同的節點上,其中有3個容器在manager節點,有兩個在worker節點上。
當然,每一個節點都可以自己查看自己目前運行的容器,比如worker節點查看自己運行容器的數量:
[root@centos-7 docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fbf77922d24c busybox:latest "/bin/sh -c 'while t…" 3 hours ago Up 3 hours demo.5.l32ziu7ygoqwapu4rbazqhyej
51e0e953688f busybox:latest "/bin/sh -c 'while t…" 3 hours ago Up 3 hours demo.3.q5imz8pqygbv5fw1r2wyt84ps
6f2b6d5f670c busybox:latest "/bin/sh -c 'while t…" 3 hours ago Up 3 hours demo.2.vvxl3f5p1w40oc82wvm2yq01q
只需要通過docker ps命令即可。
scale在swarm中除了水平擴展外,還有一個作用,那就是修復作用,比如將某一個節點中的容器刪除掉,那么很快swarm中發覺并進行修復,數量保持原先的樣子。
假如現在刪除worker中的一個容器:
[root@localhost ~]# docker rm -f a8c8e6a95978
a8c8e6a95978
我們在manager節點中查看容器情況:
[root@centos-7 docker]# docker service ps demo
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
lshgq4gfi3cv demo.1 busybox:latest localhost.localdomain Running Running 3 hours ago
vvxl3f5p1w40 demo.2 busybox:latest centos-7 Running Running 3 hours ago
q5imz8pqygbv demo.3 busybox:latest centos-7 Running Running 3 hours ago
zkoywf8h19p1 demo.4 busybox:latest localhost.localdomain Running Starting less than a second ago
ih6e2bhzzru2 \_ demo.4 busybox:latest localhost.localdomain Shutdown Failed 23 seconds ago "task: non-zero exit (137)"
l32ziu7ygoqw demo.5 busybox:latest centos-7 Running Running 3 hours ago
可以看到紅色就是我們刪掉的容器,但是后面它又馬上補充了一個,保持了整個系統的穩定性。
如何使用Swarm進行部署wordpress呢?wordpress涉及到數據庫容器以及wordpress應用容易,那么這兩個容器很有可能是不在一臺機器的,也就是使用Swarm中兩個容器是分配到不同的節點之上的。
首先,將之前的service進行移除:
[root@centos-7 docker]# docker service rm demo
demo
需要將這些service部署在一個overlay網絡中,所以需要有個overlay網絡。所以現在manager節點上創建這個網絡:
[root@centos-7 docker]# docker network create -d overlay demo
xcjljjqcw26b2xukuirgpo6au
可以查看:
[root@centos-7 docker]# docker network ls
NETWORK ID NAME DRIVER SCOPE
xcjljjqcw26b demo overlay swarm
值得注意的是其他節點上現在并沒有這個網絡,那么其它節點又是怎么連上這個網絡的呢?
[root@centos-7 docker]# docker service create --name mysql --env MYSQL_ROOT_PASSWORD=root --env MYSQL_DATABASE=wordpress --network demo
--mount type=volume,source=mysql-data,destination=/var/lib/mysql mysql:5.7.24
eirarnex6suqa4uqzgowncigv
overall progress: 1 out of 1 tasks
1/1: running [==================================================>]
verify: Service converged
可以看看這個服務的詳情以及位于哪一個節點上:
[root@centos-7 docker]# docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
eirarnex6suq mysql replicated 1/1 mysql:5.7.24
[root@centos-7 docker]# docker service ps mysql
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
c4a4lggjmvuf mysql.1 mysql:5.7.24 centos-7 Running Running about a minute ago
接著在manager節點上啟動wordpress服務
[root@centos-7 docker]# docker service create --name wordpress -p 80:80 --env WORDPRESS_DB-PASSWORD=root \
--env WORDPRESS_DB_HOST=mysql --network demo \
--mount type=volume,source=wordpress-config,destination=/var/www/html wordpress
上述中 --mount參數將容器中的配置等一系列的文件映射出來了,是方便修改容器中配置文件,修復數據庫連接不上的錯誤,詳情查看:
https://www.cnblogs.com/shenjianping/p/12268190.html
現在可以進行訪問本機的80端口進行測試了
這種部署方式就是使用docker-compose.yml文件來進行部署應用,而上面那種方式就是每次手動單啟容器。
[root@centos-7 wordpress-stack]# docker stack --help
Usage: docker stack [OPTIONS] COMMAND
Manage Docker stacks
Options:
--orchestrator string Orchestrator to use (swarm|kubernetes|all)
Commands:
deploy Deploy a new stack or update an existing stack
ls List stacks
ps List the tasks in the stack
rm Remove one or more stacks
services List the services in the stack
Run 'docker stack COMMAND --help' for more information on a command.
可以看到docker stack 的命令不是很多,第一個就是部署服務,一個docker-compose.yml就是一個服務,當然這個文件里面可能包含多個service。下面以實例來說明:
version: '3'
services:
web:
image: wordpress
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: mysql
WORDPRESS_DB_PASSWORD: root
networks:
- my-network
depends_on:
- mysql
deploy:
mode: replicated
replicas: 3 #開啟3個web服務
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
update_config:
parallelism: 1
delay: 10s
mysql:
image: mysql:5.7.24
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: wordpress
volumes:
- mysql-data:/var/lib/mysql
networks:
- my-network
deploy:
mode: global #只能有一個mysql的服務
placement:
constraints:
- node.role==manager #服務只能部署在manager節點上
volumes:
mysql-data:
networks:
my-network:
driver: overlay #注意這里可能服務在不同的主機上,需要使用overlay網絡
[root@centos-7 wordpress-stack]# docker stack deploy wordpress --compose-file=docker-compose.yml
Creating network wordpress_my-network
Creating service wordpress_web
Creating service wordpress_mysql
[root@centos-7 wordpress-stack]# docker stack ls
NAME SERVICES ORCHESTRATOR
wordpress 2 Swarm
[root@centos-7 wordpress-stack]# docker stack ps wordpress
[root@centos-7 wordpress-stack]# docker stack rm wordpress
Removing service wordpress_mysql
Removing service wordpress_web
Removing network wordpress_my-network
總結
Docker Swarm 是 Docker 官方提供的容器編排和集群管理工具,用于構建和管理多個 Docker 容器節點組成的集群。它提供集群管理、服務發現、負載均衡、滾動更新和安全等關鍵特性,使得用戶能夠輕松地部署、擴展和管理容器化應用程序,從而實現高可用性、高性能和高效率的運行環境。下一篇文章我將介紹 K8s相關的內容,希望大家關注更新!我會分享更多云原生相關的內容
月26日晚,crytek突然發文,官宣《孤島危機4》項目正式啟動。這款燒機軟件終于迭代更新了!如今的4代的發售,能否還能像多年前的初代一樣,引發業界的轟動與玩家議論硬件的熱潮?
我依稀記得,2012年第一次玩《孤島危機2》的時候,其畫面和cg給我帶來的巨大沖擊,一切都那么栩栩如生,仿佛這就是畫面的極致,已經再難提升。至于游戲的劇情,那實在是很次要的事情。與朋友聊天交流,都會因為自家的電腦能夠帶動這款游戲,而收獲羨慕的目光。當時進入游戲的logo和EA的標志,也給我留下了深刻的印象,只是在這之后就沒有見到了。
這只大眼睛,其實就是大名鼎鼎的cry engine(簡稱“CE”),由crytek開發。創立于97年的crytek,從誕生伊始就致力于游戲引擎的研發,目標十分明確:“要做出一款無縫切換室內外場景,光影和互動都十分頂級的引擎?!?/p>
在1999年的E3展會上,crytek展示了一款名叫“恐龍島”的demo,用于展現他們新研發引擎強大的渲染能力,也借此尋求合作伙伴。憑借著其他引擎望塵莫及的遠景渲染和水面反射,這款demo在當時的E3展上的表現驚艷一眾產商。提供給他們展位的英偉達直接和他們簽約合作,并提供技術支持。Crytek這開局可謂是順風順水,入行兩年,就抱上英偉達的大腿了。
“恐龍島”demo畫面
在得到英偉達提供的技術和資金支持后,我們的老朋友育碧也找到了他們,表示想要將E3演示demo“恐龍島”做成一個完整的游戲。在這款游戲中,cry engine正式登場,這款游戲也就是日后大名鼎鼎的《孤島驚魂(farcry)》。初代《孤島驚魂》的光影和水面效果,是名副其實的業界頂尖。在有著優秀大場景的同時,FPS中的粒子效果、槍械細節也得以兼顧。《孤島驚魂》作為《孤島危機》的精神前作,在遙遠的2004年,理所當然地成為了一代硬件殺手。
在crytek的官網就能看到,最早的游戲就是《孤島驚魂》
同樣是在2004年,EA向crytek拋出了橄欖枝,美國的大款和法國的窮鬼你選誰?Crytek爽快干脆地加入了EA,準備干一票大的:他們會將當前所有的引擎技術投入到下一款作品中,為此他們需要開創一個嶄新的IP,于是直接將《孤島驚魂》賣給了育碧。而自己則在EA的支持下,投入到了《孤島危機》這個全新系列的開發中。
需要注意的是,EA并非是將crytek收購,二者是合作關系(不然crytek已經倒閉了(* ̄▽ ̄)):EA為crytek提供資金支持,但要求他們的作品交由EA發行。直到今天,crytek仍然是獨立工作室,不過在全球各地開分部的工作室確實也很少見。
一般的第一方游戲工作室都會考慮到游戲登陸多平臺的可能性,在主機性能有限的前提下,會刻意地控制圖形技術的使用,以保證不同平臺的體驗趨于平衡。但crytek這幫技術宅并沒有這么想,他們只是想做出來一款劃時代的游戲。很多的圖形技術玩家們都是第一次聽說:容積云、動態軟光影、實時環境貼圖、視差貼圖、光束效果,這些名詞帶來超越時代畫面的同時,也意味著2007年,市面上根本沒有家用pc能夠在特效全開的情況下流暢運行這款游戲。至于ps和xbox平臺?想都別想!他們根本就沒做主機版。
《孤島危機》游戲畫面
《生化奇兵》游戲畫面
《光環3》游戲畫面
《半條命2》游戲畫面
《孤島危機》是一款劃時代的游戲,不僅有著當時最好的畫面,也有著優良的物理效果,細節方面,載具有著部位傷害、葉片經過時會產生物理碰撞。這樣優秀的物理互動和DICE的寒霜倒是有異曲同工之妙。但EA自家招牌的寒霜引擎直到次年的《戰地:叛逆連隊》中才正式亮相。
“寒霜引擎”的初登場:《戰地:叛逆連隊》
優秀的游戲并不意味著優秀的銷量,如此高的運行門檻讓眾多玩家望而卻步。加上當時的互聯網剛剛普及,游戲的數字版還未流行,2007年成為了盜版游戲泛濫的一年,而《孤島危機》則“榮膺”當年“盜版最多游戲”的桂冠。游戲的銷量并不好,首發半個月才賣出8萬套。然而是金子總會發光,在這樣的環境下,憑借著自身過硬的素質以及新硬件的迭代更新,游戲的銷量在三年后也達到了300萬份,這些都是后話了。
2021年推出的《孤島危機》重制版
作為crytek真正意義上的第一款游戲,《孤島危機》無疑是成功的,雖然因為盜版問題,市場損失不小,但還是大賺一筆,更是憑著當時“最強游戲畫面”的名頭打響了IP、甚至公司的知名度。
在2008年到2011年這段時間里,除了將自家的cry engine升級到3.0版本、繼續招牌《孤島危機》的續作開發外,crytek還在全球各地陸陸續續開設了六家工作室。與此同時,已經有十余家上市公司在使用他們的引擎。相較于2.0,CE3.0少了很多黑科技,更注重對上一代引擎的優化?!豆聧u危機2》也確實展現了他們努力的結果:只要你電腦帶得動,那么從頭到尾都不會卡。
2011年的《孤島危機2》讓我們看到了crytek的改變——為了兼顧大部分的pc玩家和主機平臺,相較于一代,物理效果反而有所下降,游戲的過程更加線性,場景從海島換成了紐約的鋼鐵森林,有了更多的COD式的大場面演出。這種取舍可以理解,畢竟是要吃飯的嘛,開了這么多工作室,最后如果還像一代那樣曲高和寡,那就要喝西北風了。
這一轉變十分成功,《孤島危機2》交出的成績十分優秀,僅僅用時3個月就達到了第一代3年的銷量,當然,續作也繼續蟬聯了當年“盜版最多游戲”的“殊榮”。Crytek憑著這些錢將自己的分部擴張到了9個,并同時進行了3款游戲的開發。
《孤島危機2》還推出了“限量版”,包含了一些獨特的游戲道具
2013年,前文提到的三款游戲同時發售,分別是《戰臉》《羅馬之子》和《孤島危機3》,款式雖多,卻沒有爆款?!稇鹉槨凡粶夭换?,《羅馬之子》由于預算問題,從原來的體感操作變成了QTE,而《孤島危機3》也未達到EA的預期。游戲的場景和框架幾乎沒有改變,只是多了弓箭、黑客這些細枝末節的系統。放眼望去,能讓人眼前一亮的,還是那超越時代的畫面。但比起07年時一代給玩家的震撼,2013年的《孤島危機3》確實沒有那種打開新世界大門的感覺了。
自上而下,《戰臉》《羅馬之子》和《孤島危機3》
2013年可以說是crytek的轉折點。一系列的擴張和三部作品平平無奇的成績讓crytek入不敷出,在2014年就出現了拖欠員工工資的情況,之后更是陷入了裁員、關閉分部、賣版權這樣的窘境,一度瀕臨破產的邊緣。關鍵時期還是靠亞馬遜注資拉了一把,但就在這之后,crytek也傳出過拖欠員工工資的情況。如今只剩下了總部和兩個分部。在褪下最強游戲畫面的光環后,crytek的境遇似乎有些凄慘。當初引以為傲的引擎畫面,在這些年也被re、寒霜這些后起之秀迎頭趕上,crytek似乎已經逐漸“墮入凡塵”。
Cry engine曾經的優勢面對后來者已經蕩然無存
13年之后,crytek基本上沒有什么大動作,除了在2016年的VR投資熱中出了兩款VR游戲,最近唯一為玩家所知的便是《獵殺:對決》,以及《孤島危機》的新引擎重置,其實也就是換成了高p畫面,玩法并沒有任何的創新。
《獵殺:對決》
正因這漫長的“蟄伏期”,最近官宣的《孤島危機4》立刻引起玩家們的關注,上一部系列新作不知不覺已經快要十年了。在畫質趨同的如今,各大游戲引擎成熟。crytek已經失去了過去最大的倚仗,也不可能再像過去一樣,最高畫質在pc上俯瞰眾生,游戲必將登陸全平臺。如果要在畫面上再次實現飛躍,VR也許是唯一的途徑。無論如何,游戲最終還是需要依靠自身的游戲性才能撐起一片天,crytek現在需要的也許并不是程序員,而是一位優秀的游戲設計師。
景
由于現在不斷提倡網絡安全甚至已經成為一個國家的政策性要求,出臺網絡安全法,推出網絡安全等級保護制度,可見安全的重要性。而網站作為中小型企業對外提供服務的一個入口,重要性就不容小覷,另外目前網絡上出現了很多安全方面的工具,網站漏掃的門檻越來越低,隨便一個開源的工具就可以對站點進行漏掃,若發現漏洞進而利用就可能導致比較重大的安全事故。所以針對中小型站點的安全保衛戰就需要提上日程,增加一些措施手段保障站點的安全性,WAF就是一種比較合適的加固方案。
什么是WAF
Web應用程序防火墻,Web Application Firewall,簡稱WAF。是一種提供保護Web站點免受惡意攻擊和數據泄露作用的產品,它通常位于Web應用程序和網絡之間,監控和過濾HTTP流量,以便檢測和阻止潛在的攻擊。WAF主要有以下三種載體或者說方式提供服務
硬件WAF一般不適合中小型站點,投入成本較高,云WAF比較多跟云的場景結合現階段也是成本比較高的選擇,軟件WAF的方式現在市面上有基礎免費版和按需增值版供選擇,比較適合中小型站點,可以選擇基礎免費版提高站點的安全門檻而不是在網絡世界里裸奔,后續視業務的發展情況按需調整為更安全能力更強的收費版。
軟件WAF簡介
調研了市面上面的產品,從出品方的角度有專業公司和個人在運營的產品,主要有以下幾種:
安裝實踐
主要對前三種軟件南墻、雷池、寶塔WAF進行實際安裝體驗,整個體驗過程主要基于事前、事中、事后三個邏輯環節進行。
安裝前相關文檔獲取,三款軟件官網均具備完善的文檔介紹,產品均在持續迭代更新版本,還提供了溝通交流反饋的渠道如微信群,寶塔和雷池還提供了demo站提前體驗。
三款軟件均提供一鍵安裝腳本,都是通過容器的方式運行,需要具備容器運行環境和80、443端口未被其他程序占用。安裝簡單官方文檔介紹翔實就不做過多介紹。
從后臺功能點的角度
相同點:三款軟件均提供了站點整體的運行情況如訪問量、攔截量、QPS等運行數據和針對站點進行防護策略的配置;都有免費版和其他收費版本的差異。免費版的差異點:
從實際防護效果角度
1、簡單手動模擬構建異常攻擊請求,均能被攔截,如下面這些請求,
模擬 SQL 注入攻擊: https://站點地址/?id=1+and+1=2+union+select+1
模擬 XSS 攻擊: https://站點地址/?id=
模擬路徑穿越攻擊: https://站點地址/?id=../../../../etc/passwd
模擬代碼注入攻擊: https://站點地址/?id=phpinfo();system('id')
2、利用BlazeHTTP工具進行評測
針對同一個站點,依次經過雷池、寶塔、南墻WAF進行防護后,利用BlazeHTTP工具進行掃描的結果如下,從結果上來看雷池準確率最高,寶塔最低。
總結
*請認真填寫需求信息,我們會在24小時內與您取得聯系。