天天看點

基于lua頁面通路限制控制(轉載烏雲)

<code>if</code> <code>($cookie_say !=</code><code>"hbnl"</code><code>){</code>

<code>    </code><code>add_header Set-Cookie</code><code>"say=hbnl"</code><code>;</code>

<code>    </code><code>rewrite .*</code><code>"$scheme://$host$uri"</code> <code>redirect;</code>

<code>}</code>

<code>if</code> <code>($cookie_say !=</code><code>"hbnl$remote_addr"</code><code>){</code>

<code>    </code><code>add_header Set-Cookie</code><code>"say=hbnl$remote_addr"</code><code>;</code>

<code>rewrite_by_lua '</code>

<code>    </code><code>local</code> <code>random = ngx.var.cookie_random</code>

<code>    </code><code>if</code><code>(random == nil)</code><code>then</code>

<code>        </code><code>random = math.random(999999)</code>

<code>    </code><code>end</code>

<code>    </code><code>local</code> <code>token = ngx.md5(</code><code>"opencdn"</code> <code>.. ngx.var.remote_addr .. random)</code>

<code>    </code><code>if</code> <code>(ngx.var.cookie_token ~= token)</code><code>then</code>

<code>        </code><code>ngx.header[</code><code>"Set-Cookie"</code><code>] = {</code><code>"token="</code> <code>.. token,</code><code>"random="</code> <code>.. random}</code>

<code>        </code><code>return</code> <code>ngx.redirect(ngx.var.scheme ..</code><code>"://"</code> <code>.. ngx.var.host .. ngx.var.uri)</code>

<code>';</code>

本文轉自 liang3391 51CTO部落格,原文連結:http://blog.51cto.com/liang3391/1581816