summaryrefslogtreecommitdiffstats
path: root/system/core
diff options
context:
space:
mode:
Diffstat (limited to 'system/core')
-rwxr-xr-xsystem/core/Security.php11
1 files changed, 7 insertions, 4 deletions
diff --git a/system/core/Security.php b/system/core/Security.php
index 741ff229b..a6fd75fa4 100755
--- a/system/core/Security.php
+++ b/system/core/Security.php
@@ -203,10 +203,13 @@ class CI_Security {
if ($exclude_uris = config_item('csrf_exclude_uris'))
{
$uri = load_class('URI', 'core');
- if (in_array($uri->uri_string(), $exclude_uris))
- {
- return $this;
- }
+ foreach ($exclude_uris as $excluded) {
+ $excluded = str_replace(array(':any', ':num'), array('[^/]+', '[0-9]+'), $excluded);
+ if (preg_match('#^'.$excluded.'$#', $uri->uri_string()))
+ {
+ return $this;
+ }
+ }
}
// Do the tokens exist in both the _POST and _COOKIE arrays?