The major problems here are:
- reverse proxies
- SSL accelerators
$FULLME - should always contain full url starting with wwwroot (and https: if https enabled) including page parameters and slasharguments
$ME - like FULLME but without the query part
$SCRIPT - relative me, like ME without wwwroot - ex: "/course/view.php", "/admin/cron.php"
the cron should stop using FULLME == 'cron' and instead use $SCRIPT == "/$CFG->admin/cron.php"
This is just the first step towards reversed proxy and SSL accel support
This will also help with detection of incorrect access addresses.