Have you checked out the GET and POST Variables add-on? This plugin should work for what you are trying to accomplish.
Thanks, Shane, but I don’t think that is going to work around EE dying with the message “Invalid GET Data.” The message is being printed from EE_Input::filter_get_data() [system/expressionengine/core/EE_Input.php].
The particular test that is failing me is:
if (preg_match("#(;|\?|exec\s*\(|system\s*\(|passthru\s*\(|cmd\s*\(|[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})#i", $val)) {
Where the \? is catching the url-encoded ‘?’ in my URL and promptly killing EE. Any thoughts of a good work around, or at least an explanation for what that check is looking for?
If this is an attempt to protect shell data, it is not checking for backtick operators. If it is for HTML, there is no angle bracket (<, >) filter. If it is for MySQL, it does not guard against quotes or—. As a PHP filter it would half-way work but again misses quotes.
So far my best bet appears to be modding the core. Thanks!
EDIT: Incidentally, the code for EE 2.4 is exactly the same as 2.2.2 (which is what we are running) for this.