diff options
author | Derek Jones <derek.jones@ellislab.com> | 2008-07-01 01:27:31 +0200 |
---|---|---|
committer | Derek Jones <derek.jones@ellislab.com> | 2008-07-01 01:27:31 +0200 |
commit | e8e18fe1659c036c5419b674c7992fff24c0ea27 (patch) | |
tree | b7b5f59c350a1f921bedf43aa203b67606c7e18a /system | |
parent | 4759d1b7711ca1ba1d30b990bf909c5d822bca58 (diff) |
Changed regex for onfoo event handlers to prevent unwanted matching of text such as locatiON, cONtent, etc.
Diffstat (limited to 'system')
-rw-r--r-- | system/libraries/Input.php | 8 |
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
*
|