Well, we have several different set ups and scenarios. Not all of the locations require a Terms of Service and sometimes they do not want one! They just want the user to be directed to their website when they first connect to the wireless, but that's it. They want to advertise their website to the end users- not to create any sort of binding contract.
While I do not recommend modifying pfSense unless you know what you're doing- and always recommend creating a backup before modifying any file(s), I'll share my personal work around:
OPEN "/usr/local/captiveportal/index.php"
FIND: LINE 228
} else {
PASTE ABOVE THIS LINE:
} else if (strpos($_GET['redirurl'], 'accept=yes') !== false && $clientip && $config['captiveportal']['auth_method'] == "none") {
captiveportal_logportalauth("unauthenticated",$clientmac,$clientip,"ACCEPT");
portal_allow($clientip, $clientmac, "unauthenticated");
SAVE THE FILE
Now change your captive portal page to this:
if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') {
$url = "https://{$_SERVER['SERVER_ADDR']}:" . $_SERVER['SERVER_PORT'] . "/index.php?accept=yes";
} else {
$url = "http://{$_SERVER['SERVER_ADDR']}:" . $_SERVER['SERVER_PORT'] . "/index.php?accept=yes";
}
header("Location: $url");
?>
Then with Captive Portal enabled and "No Authentication" selected, the end user is authenticated and redirected to the "After authentication Redirection URL" just like I want! :)