auth_hash_check_token

在 NGINX 中,`auth_hash_check_token` 指令用于指定安全链接哈希认证的令牌值。

语法auth_hash_check_token token_string [format];
默认值none
上下文http, server, location
参数1-2

说明

auth_hash_check_token 指令是 NGINX Secure Link Hash 模块的一部分,该模块通过启用基于哈希的令牌验证来增强安全链接功能。该指令通常用于 http、server 和 location 块等上下文,并接受一个或两个参数。第一个参数是要检查的令牌字符串,可选的第二个参数允许您指定令牌的格式,格式可以是十六进制 (hex)、base64、base64url 或二进制 (bin)。如果省略格式参数,则默认假定令牌为十六进制格式。

该指令与其他相关指令(如 auth_hash_messageauth_hash_secretauth_hash_algorithm)配合使用,以提供完整的安全哈希验证功能。该令牌用于验证请求以确保其未被篡改。验证成功时,特殊变量 $auth_hash 的值为非空;验证失败时则为空。在处理敏感数据访问或修改的环境中,这一点对于维护安全性至关重要。

配置示例

location ^~ /secure/ {
    auth_hash on;
    auth_hash_check_token $arg_st format=hex;
    auth_hash_secret "my_secret_key";
    auth_hash_message "$uri|$arg_ts|$auth_hash_secret";
    auth_hash_algorithm sha256;
    if ($auth_hash != "1") {
        return 403;
    }
}

确保 token 格式被正确指定,因为不匹配可能导致 validation 失败。

使用 secret key 时要小心;如果它被泄露,hashes 的安全性可能会受到损害。

Tokens 必须使用与 validation 所用的相同 algorithm 和 secret 生成,以确保一致性。

← 返回所有指令