ddos - Ich habe im Internet eine Nginx-Anti-CC-Angriffskonfiguration gefunden. Kann jemand eine grobe Erklärung geben?
世界只因有你
世界只因有你 2017-05-16 17:10:02
0
1
738
http{ ... limit_req_zone $cookie_token zone=session_limit:3m rate=1r/s; limit_req_zone $binary_remote_addr $uri zone=auth_limit:3m rate=1r/m; } location /{ limit_req zone=session_limit burst=5; rewrite_by_lua ' local random = ngx.var.cookie_random if (random == nil) then return ngx.redirect("/auth?url=" .. ngx.var.request_uri) end local token = ngx.md5("opencdn" .. ngx.var.remote_addr .. random) if (ngx.var.cookie_token ~= token) then return ngx.redirect("/auth?url=".. ngx.var.request_uri) end '; } location /auth { limit_req zone=auth_limit burst=1; if ($arg_url = "") { return403; } access_by_lua ' local random = math.random(9999) local token = ngx.md5("opencdn" .. ngx.var.remote_addr .. random) if (ngx.var.cookie_token ~= token) then ngx.header["Set-Cookie"] = {"token=" .. token, "random=" .. random} return ngx.redirect(ngx.var.arg_url) end '; }

Die limit_req_zone $binary_remote_addr $uri zone=auth_limit:3m rate=1r/m; im Code ist sicher, dass Sie $uri hinzufügen möchten. (Update limit_req_zone unterstützt mehrere Variablen, daher ist $binary_remote_addr $uri korrekt)
Was sollte ich außer diesem Code noch tun, wenn ich ihn auf meinen Nginx anwenden möchte?
Anbei ist die ursprüngliche Postadresse, ich weiß nicht, ob es sich um den ursprünglichen Post handelt: http://www.92csz.com/30/1255....

世界只因有你
世界只因有你

Antworte allen (1)
洪涛

这个思路很粗糙,也并不合理。原理上类似于不输入账号密码就不让访问。
但是这个现实吗?
对于一个新用户来说,怎么可能知道自己的账号密码。除非预先分配,但是预先分配又如何能够避免分配给攻击者?
问题又回到了原点。
所以说这个东西并没有什么卵用,而且只是在一定程度上防止了CC,但不能防止DDOS
为什么说只是一定程度上呢?因为这个cookies总要是给用户的,cc攻击一样能拿到。

如果你真的要尝试的话,需要在安装nginx_lua模块,或者使用openresty.

    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!