/proj/valid/check.cgi
#!/bin/bash
# check.cgi - Validate Referer
# Author: Sean B. Palmer, inamidst.com
# Source: http://inamidst.com/proj/valid/source
DOCTYPE='XHTML 1.0 Strict'
URI=${HTTP_REFERER:-'-'}
function serve() {
echo Content-Type: image/png
echo && cat $1
}
case $URI in
http://$SERVER_NAME/*) :;;
*) serve logo.png; exit;;
esac
QUERY="?
uri = ${URI//;/%3B};
doctype = ${DOCTYPE// /+};
output = xml
"
curl -Is http://validator.w3.org/check$(tr -d " \n" <<<$QUERY) | \
grep -q 'X-W3C-Validator-Status: Valid'
STATUS=${?/1/in}valid
STATUS=${STATUS#0}
echo X-Validation-Status: $STATUS
serve $STATUS.png
# [EOF]