diff options
author | Bharat Mediratta <bharat@menalto.com> | 2010-02-08 15:37:11 -0800 |
---|---|---|
committer | Bharat Mediratta <bharat@menalto.com> | 2010-02-08 15:37:11 -0800 |
commit | 6dfab72922bf20104d6032eb292d59c6bd6578ba (patch) | |
tree | c08c7f64f29c95cf30b8cee6a9b1b24ed98cd61d | |
parent | 9695041a86ffeb1bfc5ced654cb04a9833eb9288 (diff) |
Override Input::clean_input_keys() to sanitize malicious values out of
strings instead of dying. This at least gives us graceful degradation.
Fixes ticket #764, patch thanks to djnz.
-rw-r--r-- | modules/gallery/libraries/MY_Input.php | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/modules/gallery/libraries/MY_Input.php b/modules/gallery/libraries/MY_Input.php new file mode 100644 index 00000000..dce569fd --- /dev/null +++ b/modules/gallery/libraries/MY_Input.php @@ -0,0 +1,31 @@ +<?php defined("SYSPATH") or die("No direct script access."); +/** + * Gallery - a web based photo album viewer and editor + * Copyright (C) 2000-2009 Bharat Mediratta + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. + */ +class Input extends Input_Core { + /** + * Modified form of Input::clean_input_keys() that replaces malformed values + * instead of dying on bad input. + * + * @param string string to clean + * @return string + */ + public function clean_input_keys($str) { + return preg_replace('#^[\pL0-9:_.-]++$#uD', '_', $str); + } +} |