RewriteMap digest-check prg:/YOUR_PATH/md5.pl
#RewriteMap digest-check prg:/YOUR_PATH/sha1.pl
RewriteCond ${digest-check:%{QUERY_STRING}###%{REMOTE_ADDR}|false} =false
RewriteRule ^/test/(.*) http://yicha.cn/
2. RewriteMap调用的perl脚本
#!/usr/bin/perl
$| = 1;
use Digest::MD5;
$digest = Digest::MD5->new(); #也可以使用SHA-1算法
$pass = "YOURPASS";
while (<STDIN>) {
@input = split("###", $_);
$num = @input;
if($num == 2) {
$query = $input[0];
$addr = $input[1];
if($query =~ m/dig=(.*)/i) {
@param = split("&", $1);
$pdig = $param[0];
$src = $pass.$addr;
$src =~ s/^s+//;
$src =~ s/s+$//;
$digest->add($src);
$cdig = $digest->hexdigest();
if($pdig eq $cdig) {
print "truen";
next; } print "falsen";
}
3. 页面上URL增加参数dig
PHP可以使用dig=<?php echo md5('YOURPASS'.$_SERVER["REMOTE_ADDR"]);?>
声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。