diff options
author | Andrey Andreev <narf@devilix.net> | 2014-03-18 18:18:19 +0100 |
---|---|---|
committer | Andrey Andreev <narf@devilix.net> | 2014-03-18 18:18:19 +0100 |
commit | ebb3aa0edde1efd4829a3ad8dbe0eeac970794cb (patch) | |
tree | d25721a06f11fc891678b62b259f0db0b426ab43 /system/core | |
parent | e7a2aa09df05547211776bf493adb6da476f3858 (diff) |
Another xss_clean() improvement
Fixes this: https://github.com/EllisLab/CodeIgniter/issues/2667#issuecomment-37958136
Diffstat (limited to 'system/core')
-rw-r--r-- | system/core/Security.php | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/system/core/Security.php b/system/core/Security.php index 1dfea18f8..a4d8c95ef 100644 --- a/system/core/Security.php +++ b/system/core/Security.php @@ -454,12 +454,12 @@ class CI_Security { if (preg_match('/<a/i', $str)) { - $str = preg_replace_callback('#<a[\s\d"\'`;/=,\(\\\\]+([^>]*?)(?:>|$)#si', array($this, '_js_link_removal'), $str); + $str = preg_replace_callback('#<a[^a-z0-9]+([^>]*?)(?:>|$)#si', array($this, '_js_link_removal'), $str); } if (preg_match('/<img/i', $str)) { - $str = preg_replace_callback('#<img[\s\d"\'`;/=,\(\\\\]+([^>]*?)(?:\s?/?>|$)#si', array($this, '_js_img_removal'), $str); + $str = preg_replace_callback('#<img[^a-z0-9]+([^>]*?)(?:\s?/?>|$)#si', array($this, '_js_img_removal'), $str); } if (preg_match('/script|xss/i', $str)) |