CodeIgniter Disallowed Key Characters FIX

Seit dem Google Analytics auch Cookies mit Sonderzeichen im Namen erstellt, springt die CodeIgniter Validierung darauf an und terminiert jeden Request mit der „Disallowed Key Characters“ Meldung.

Der Fix ist denkbar einfach. Man muss den Character (~) der Validierung mitteilen.
Im Beispiel unten in der PregMatch Definition „/^[~a-z0-9:_\/-]+$/i“.

# /system/libraries/Input.php (Zeile 217)

/**
 * Clean Keys
 *
 * This is a helper function. To prevent malicious users
 * from trying to exploit keys we make sure that keys are
 * only named with alpha-numeric text and a few other items.
 *
 * @access	private
 * @param	string
 * @return	string
 */
function _clean_input_keys($str)
{
    if ( ! preg_match("/^[~a-z0-9:_\/-]+$/i", $str))
    {
        exit('Disallowed Key Characters.');
    }

    return $str;
}