auth_hash_check_token
在 NGINX 中,`auth_hash_check_token` 指令用于指定安全链接哈希认证的令牌值。
Secure link hash authentication
·
httpserverlocation
语法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_message、auth_hash_secret 和 auth_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 生成,以确保一致性。