如何在重定向时在 cookie 中设置 sha1 哈希值?

问题描述 投票:0回答:1

我需要在重定向时在 cookie 中设置 sha1 哈希值,以便我可以检查每个进一步的请求。

据我所知,我只能使用 RewriteRule 在重定向上设置 Cookie:

RewriteRule ^(needCheck)$ /check [L,R=302,CO=myCookie:${sha1(%{myVar})}:.mydomain.com]

但是这是不可能的,因为我在这种情况下无法访问 sha1 函数。但我可以将外部函数与 RewriteMap 一起使用。类似的东西

RewriteMap sha1_map prg:/var/www/mydomain/sha1.sh

RewriteRule ^(needCheck)$ /check [L,R=302,CO=myCookie:${sha1_map:%{myVar}}:.mydomain.com]

但是我不知道如何编写外部函数,以便 sha1 哈希与 Apache 生成的哈希相匹配。有人可以给我提示吗?

任何进一步的请求都会检查哈希值

<If "sha1('%{myVar}') == ...>

或者我可以更简单地实现这一点吗? 感谢您的帮助。

apache apache2.4
1个回答
0
投票

回答我自己。 是的,它就是这样工作的。我的 sha1.sh 错了。 应该是

#!/bin/bash

while IFS= read -r line; do
   echo -n $line | sha1sum | awk '{print $1}'\n
done

那么哈希值是相等的。

© www.soinside.com 2019 - 2024. All rights reserved.