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

xdnvmnnf  于 7个月前  发布在  Apache
关注(0)|答案(1)|浏览(52)

我需要在重定向时在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}') == ...>检查哈希
或者我可以实现这个简单?谢谢你的帮助。

iklwldmw

iklwldmw1#

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

#!/bin/bash

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

那么哈希是相等的。

相关问题