Well, I don’t think we’re going to get the large vendor to change the way they do cookies.
I think we may need to just go ahead and, unsupported as it is, change that RegExp to allow for a dollar sign. As it stands, there is no other way to solve this because:
1) The cookie needs to be set
2) The cookie is being set on the “same” base domain as EE (email.domain.com)
3) Users are coming to this dead-end with nowhere to go
4) Users keep on comin’
Assuming we wanted to go another route, though, keeping the original RegExp intact: Would it be easy to make a redirect to a more friendly error page? So, rather than the script exiting, the user gets redirected to a page that is easier to understand? I’m thinking something like this:
function clean_input_keys($str)
{
if ( ! ereg("^[A-Za-z0-9\:\_\/\-]+$", $str))
{
$naughty = $FNS->create_url('error/index');
$FNS->redirect($naughty);
exit;
// exit('Disallowed Key Characters');
}
if ( ! get_magic_quotes_gpc())
{
$str = addslashes($str);
}
return $str;
}
I have a feeling that, no matter what, we either need to eliminate the dollar signs, or allow them through.
And please feel free to break this thread off and start a new one in the “How To” section, preferably with a very descriptive title like “Help with EE ‘Disallowed Key Characters’ page; RegExp failing on ‘$’ character in 3rd-party cookie string. Alternative?”