Check-in by ben on 2025-08-01 07:01:15 When blocking a client from an item detail, link to the original web page. INSERTED DELETED 13 3 src/cgi.awk 1 1 src/details/index.dcgi.m4 14 4 TOTAL over 2 changed files Index: src/cgi.awk ================================================================== --- src/cgi.awk +++ src/cgi.awk @@ -1,6 +1,6 @@ -function block_msg(ip) { +function block_msg(ip, extra) { print "Access Denied" print "=============" print "" print "This service only allows access from vetted client IP addresses." print "The intent is to thwart abusive bots and crawlers." @@ -11,14 +11,15 @@ print " " contact print "" print "* Include the word \"friendly\" in your message." print "" print "Service admin will reply when granted." + print extra return } -function cgi_init( ip) { +function cgi_init( extra, ip) { ip = ENVIRON["REMOTE_ADDR"] search = ARGV[1] arguments = ARGV[2] traversal = ARGV[5] @@ -84,11 +85,20 @@ break } } close(pass_list) if (blocked) { - block_msg(ip) + extra = "" + if (topdir == "details") { + extra = "\nIn the meanwhile, see:\n\n" \ + sprintf("[h|Web page|URL:%s/details/%s|%s|%s]\n", + api_ssl_endpoint, + uri_encode(parts[3]), + server, + port) + } + block_msg(ip, extra) exit(0) } } return Index: src/details/index.dcgi.m4 ================================================================== --- src/details/index.dcgi.m4 +++ src/details/index.dcgi.m4 @@ -222,9 +222,9 @@ } BEGIN { config_init() - cgi_init() uri_encode_init() + cgi_init() main() }