用于校验资源请求的合法性

  server {
        listen 3300;
        server_name www.siguoya.name;
        root /usr/local/nginx/1.12.1/html;
        location / {
            secure_link $arg_md5,$arg_expires;
            secure_link_md5 "$secure_link_expires$uri siguoya";
            if ($secure_link = "") {
                return 403;
            }
            if ($secure_link = "0") {
                return 410;
            }
        }
    }

如果是访问 http://www.siguoya.name:3300/index.html?expires=111 的话,md5 值的 shell 计算方法如下:

echo -n '111/index.html siguoya' | openssl md5 -binary | openssl base64 | tr +/ -_ | tr -d =
http://www.siguoya.name:3300/index.html?expires=111&md5=111403,md5不正确,时间过期
http://www.siguoya.name:3300/index.html?expires=2147483647&md5=111403,md5不正确,时间未过期
http://www.siguoya.name:3300/index.html?expires=111&md5=cLdY2ROg2kZDD0xkWaJ8TQ410,md5正确,时间过期
http://www.siguoya.name:3300/index.html?expires=2147483647&md5=GfmT6Hj3U55xfQJ3aNqjfQ200,md5正确,时间未过期

专题阅读

03-05 21:28