summaryrefslogtreecommitdiffstats
path: root/system/libraries/Input.php
diff options
context:
space:
mode:
authorDerek Jones <derek.jones@ellislab.com>2008-07-01 01:27:31 +0200
committerDerek Jones <derek.jones@ellislab.com>2008-07-01 01:27:31 +0200
commite8e18fe1659c036c5419b674c7992fff24c0ea27 (patch)
treeb7b5f59c350a1f921bedf43aa203b67606c7e18a /system/libraries/Input.php
parent4759d1b7711ca1ba1d30b990bf909c5d822bca58 (diff)
Changed regex for onfoo event handlers to prevent unwanted matching of text such as locatiON, cONtent, etc.
Diffstat (limited to 'system/libraries/Input.php')
-rw-r--r--system/libraries/Input.php8
1 files changed, 4 insertions, 4 deletions
diff --git a/system/libraries/Input.php b/system/libraries/Input.php
index 4d2e9e298..ac6b864e9 100644
--- a/system/libraries/Input.php
+++ b/system/libraries/Input.php
@@ -705,7 +705,7 @@ class CI_Input {
* but it's unlikely to be a problem.
*
*/
- $event_handlers = array('on\w*','xmlns');
+ $event_handlers = array('[^a-z]on\w*','xmlns');
if ($is_image === TRUE)
{
@@ -715,9 +715,9 @@ class CI_Input {
*/
unset($event_handlers[array_search('xmlns', $event_handlers)]);
}
-
- $str = preg_replace("#<([^><]+)(".implode('|', $event_handlers).")(\s*=\s*[^><]*)([><]*)#i", "<\\1\\4", $str);
-
+
+ $str = preg_replace("#<([^><]+?)(".implode('|', $event_handlers).")(\s*=\s*[^><]*)([><]*)#i", "<\\1\\4", $str);
+
/*
* Sanitize naughty HTML elements
*