{"id":828,"date":"2015-04-23T20:30:12","date_gmt":"2015-04-23T18:30:12","guid":{"rendered":"http:\/\/webpiraten.de\/?p=828"},"modified":"2015-04-23T20:33:55","modified_gmt":"2015-04-23T18:33:55","slug":"codeigniter-disallowed-key-characters-fix","status":"publish","type":"post","link":"https:\/\/webpiraten.de\/index.php\/frameworks\/codeigniter-disallowed-key-characters-fix\/","title":{"rendered":"CodeIgniter Disallowed Key Characters FIX"},"content":{"rendered":"<p>Seit dem Google Analytics auch Cookies mit Sonderzeichen im Namen erstellt, springt die CodeIgniter Validierung darauf an und terminiert jeden Request mit der &#8222;Disallowed Key Characters&#8220; Meldung.<\/p>\n<p>Der Fix ist denkbar einfach. Man muss den Character (~) der Validierung mitteilen.<br \/>\nIm Beispiel unten in der PregMatch Definition &#8222;\/^[~a-z0-9:_\\\/-]+$\/i&#8220;.<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\r\n# \/system\/libraries\/Input.php (Zeile 217)\r\n\r\n\/**\r\n * Clean Keys\r\n *\r\n * This is a helper function. To prevent malicious users\r\n * from trying to exploit keys we make sure that keys are\r\n * only named with alpha-numeric text and a few other items.\r\n *\r\n * @access\tprivate\r\n * @param\tstring\r\n * @return\tstring\r\n *\/\r\nfunction _clean_input_keys($str)\r\n{\r\n    if ( ! preg_match(&quot;\/^&#x5B;~a-z0-9:_\\\/-]+$\/i&quot;, $str))\r\n    {\r\n        exit('Disallowed Key Characters.');\r\n    }\r\n\r\n    return $str;\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Seit dem Google Analytics auch Cookies mit Sonderzeichen im Namen erstellt, springt die CodeIgniter Validierung darauf an und terminiert jeden Request mit der &#8222;Disallowed Key Characters&#8220; Meldung. Der Fix ist denkbar einfach. Man muss den Character (~) der Validierung mitteilen. Im Beispiel unten in der PregMatch Definition &#8222;\/^[~a-z0-9:_\\\/-]+$\/i&#8220;. # \/system\/libraries\/Input.php (Zeile 217) \/** * Clean [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[28,121,3,5],"tags":[581,578,10,582,583,579,580,577],"class_list":["post-828","post","type-post","status-publish","format-standard","hentry","category-codeigniter-framework","category-debugging","category-frameworks","category-php","tag-analytics","tag-character","tag-codeigniter","tag-cookie","tag-disallowed","tag-fix","tag-google","tag-key"],"_links":{"self":[{"href":"https:\/\/webpiraten.de\/index.php\/wp-json\/wp\/v2\/posts\/828","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webpiraten.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webpiraten.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webpiraten.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webpiraten.de\/index.php\/wp-json\/wp\/v2\/comments?post=828"}],"version-history":[{"count":1,"href":"https:\/\/webpiraten.de\/index.php\/wp-json\/wp\/v2\/posts\/828\/revisions"}],"predecessor-version":[{"id":829,"href":"https:\/\/webpiraten.de\/index.php\/wp-json\/wp\/v2\/posts\/828\/revisions\/829"}],"wp:attachment":[{"href":"https:\/\/webpiraten.de\/index.php\/wp-json\/wp\/v2\/media?parent=828"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webpiraten.de\/index.php\/wp-json\/wp\/v2\/categories?post=828"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webpiraten.de\/index.php\/wp-json\/wp\/v2\/tags?post=828"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}