]> granicus.if.org Git - php/commitdiff
Added FILTER_FLAG_STRIP_BACKTICK option to the filter extension.
authorIlia Alshanetsky <iliaa@php.net>
Mon, 7 Dec 2009 13:43:44 +0000 (13:43 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Mon, 7 Dec 2009 13:43:44 +0000 (13:43 +0000)
NEWS
ext/filter/filter.c
ext/filter/filter_private.h
ext/filter/sanitizing_filters.c

diff --git a/NEWS b/NEWS
index aa774367a23241f435b65e1097778bd27f22d50b..095e449d982c7dc13544203e02135491f5c5de86 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -9,6 +9,7 @@ PHP                                                                        NEWS
 - Changed "post_max_size" php.ini directive to allow unlimited post size by
   setting it to 0. (Rasmus)
 
+- Added FILTER_FLAG_STRIP_BACKTICK option to the filter extension. (Ilia)
 - Added protection for $_SESSION from interrupt corruption and improved
   "session.save_path" check. (Stas)
 - Added LIBXML_PARSEHUGE constant to override the maximum text size of a
index 824d5584052fa9831232e252c1650aa8902bf6d5..64cafe541028cb3c12c2f2174bfeef91e029d76f 100644 (file)
@@ -251,6 +251,7 @@ PHP_MINIT_FUNCTION(filter)
 
        REGISTER_LONG_CONSTANT("FILTER_FLAG_STRIP_LOW", FILTER_FLAG_STRIP_LOW, CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("FILTER_FLAG_STRIP_HIGH", FILTER_FLAG_STRIP_HIGH, CONST_CS | CONST_PERSISTENT);
+       REGISTER_LONG_CONSTANT("FILTER_FLAG_STRIP_BACKTICK", FILTER_FLAG_STRIP_BACKTICK, CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("FILTER_FLAG_ENCODE_LOW", FILTER_FLAG_ENCODE_LOW, CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("FILTER_FLAG_ENCODE_HIGH", FILTER_FLAG_ENCODE_HIGH, CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("FILTER_FLAG_ENCODE_AMP", FILTER_FLAG_ENCODE_AMP, CONST_CS | CONST_PERSISTENT);
index b3db3cd724d7239811bfb709dd77a73cee7061ec..9bb234f490b4ad849fd6866864bdad0eb330af92 100644 (file)
@@ -39,6 +39,7 @@
 #define FILTER_FLAG_ENCODE_AMP              0x0040
 #define FILTER_FLAG_NO_ENCODE_QUOTES        0x0080
 #define FILTER_FLAG_EMPTY_STRING_NULL       0x0100
+#define FILTER_FLAG_STRIP_BACKTICK          0x0200
 
 #define FILTER_FLAG_ALLOW_FRACTION          0x1000
 #define FILTER_FLAG_ALLOW_THOUSAND          0x2000
index cdfe08c29b21d670468baa34f077f4d69020e98e..8ebcd08603b280fbc961b1b53df03598547f7d85 100644 (file)
@@ -123,6 +123,7 @@ static void php_filter_strip(zval *value, long flags)
        for (i = 0; i < Z_STRLEN_P(value); i++) {
                if ((str[i] > 127) && (flags & FILTER_FLAG_STRIP_HIGH)) {
                } else if ((str[i] < 32) && (flags & FILTER_FLAG_STRIP_LOW)) {
+               } else if ((str[i] == '`') && (flags & FILTER_FLAG_STRIP_BACKTICK)) {
                } else {
                        buf[c] = str[i];
                        ++c;