Skip to content

Commit bf94010

Browse files
committed
Deprecate FILTER_SANITIZE_STRING/STRIPPED
Deprecate the FILTER_SANITIZE_STRING and FILTER_SANITIZE_STRIPPED filters. This is part of https://wiki.php.net/rfc/deprecations_php_8_1.
1 parent 1c07b11 commit bf94010

File tree

12 files changed

+61
-26
lines changed

12 files changed

+61
-26
lines changed

UPGRADING

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,11 @@ PHP 8.1 UPGRADE NOTES
337337
favor of date_sun_info().
338338
RFC: https://wiki.php.net/rfc/deprecations_php_8_1
339339

340+
- Filter:
341+
. The FILTER_SANITIZE_STRING and FILTER_SANITIZE_STRIPPED filters have been
342+
deprecated.
343+
RFC: https://wiki.php.net/rfc/deprecations_php_8_1
344+
340345
- Hash:
341346
. The mhash(), mhash_keygen_s2k(), mhash_count(), mhash_get_block_size() and
342347
mhash_get_hash_name() functions are deprecated. Use the hash_*() APIs

ext/filter/filter.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,8 +187,8 @@ PHP_MINIT_FUNCTION(filter)
187187
REGISTER_LONG_CONSTANT("FILTER_DEFAULT", FILTER_DEFAULT, CONST_CS | CONST_PERSISTENT);
188188
REGISTER_LONG_CONSTANT("FILTER_UNSAFE_RAW", FILTER_UNSAFE_RAW, CONST_CS | CONST_PERSISTENT);
189189

190-
REGISTER_LONG_CONSTANT("FILTER_SANITIZE_STRING", FILTER_SANITIZE_STRING, CONST_CS | CONST_PERSISTENT);
191-
REGISTER_LONG_CONSTANT("FILTER_SANITIZE_STRIPPED", FILTER_SANITIZE_STRING, CONST_CS | CONST_PERSISTENT);
190+
REGISTER_LONG_CONSTANT("FILTER_SANITIZE_STRING", FILTER_SANITIZE_STRING, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED);
191+
REGISTER_LONG_CONSTANT("FILTER_SANITIZE_STRIPPED", FILTER_SANITIZE_STRING, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED);
192192
REGISTER_LONG_CONSTANT("FILTER_SANITIZE_ENCODED", FILTER_SANITIZE_ENCODED, CONST_CS | CONST_PERSISTENT);
193193
REGISTER_LONG_CONSTANT("FILTER_SANITIZE_SPECIAL_CHARS", FILTER_SANITIZE_SPECIAL_CHARS, CONST_CS | CONST_PERSISTENT);
194194
REGISTER_LONG_CONSTANT("FILTER_SANITIZE_FULL_SPECIAL_CHARS", FILTER_SANITIZE_FULL_SPECIAL_CHARS, CONST_CS | CONST_PERSISTENT);

ext/filter/tests/006.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ filter
66
foo=<b>abc</b>
77
--FILE--
88
<?php
9-
echo filter_input(INPUT_POST, 'foo', FILTER_SANITIZE_STRIPPED);
9+
echo filter_input(INPUT_POST, 'foo', FILTER_SANITIZE_SPECIAL_CHARS);
1010
?>
1111
--EXPECT--
12-
abc
12+
&#60;b&#62;abc&#60;/b&#62;

ext/filter/tests/010.phpt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ filter
99

1010
var_dump(filter_var(array(1,"1","", "-23234", "text", "asdf234asdfgs", array()), FILTER_VALIDATE_INT, FILTER_REQUIRE_ARRAY));
1111
var_dump(filter_var(array(1.2,"1.7","", "-23234.123", "text", "asdf234.2asdfgs", array()), FILTER_VALIDATE_FLOAT, FILTER_REQUIRE_ARRAY));
12-
var_dump(filter_var(1, FILTER_SANITIZE_STRING, 1));
13-
var_dump(filter_var(1, FILTER_SANITIZE_STRING, 0));
14-
var_dump(filter_var(1, FILTER_SANITIZE_STRING, array()));
12+
var_dump(filter_var(1, FILTER_SANITIZE_SPECIAL_CHARS, 1));
13+
var_dump(filter_var(1, FILTER_SANITIZE_SPECIAL_CHARS, 0));
14+
var_dump(filter_var(1, FILTER_SANITIZE_SPECIAL_CHARS, array()));
1515
var_dump(filter_var(1, -1, array(123)));
1616
var_dump(filter_var(1, 0, array()));
1717

ext/filter/tests/011.phpt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,27 +11,23 @@ c=<p>string</p>&d=12345.7
1111
--FILE--
1212
<?php
1313
ini_set('html_errors', false);
14-
var_dump(filter_input(INPUT_GET, "a", FILTER_SANITIZE_STRIPPED));
1514
var_dump(filter_input(INPUT_GET, "b", FILTER_SANITIZE_URL));
1615
var_dump(filter_input(INPUT_GET, "a", FILTER_SANITIZE_SPECIAL_CHARS, array(1,2,3,4,5)));
1716
try {
1817
filter_input(INPUT_GET, "b", FILTER_VALIDATE_FLOAT, new stdClass);
1918
} catch (TypeError $exception) {
2019
echo $exception->getMessage() . "\n";
2120
}
22-
var_dump(filter_input(INPUT_POST, "c", FILTER_SANITIZE_STRIPPED, array(5,6,7,8)));
2321
var_dump(filter_input(INPUT_POST, "d", FILTER_VALIDATE_FLOAT));
2422
var_dump(filter_input(INPUT_POST, "c", FILTER_SANITIZE_SPECIAL_CHARS));
2523
var_dump(filter_input(INPUT_POST, "d", FILTER_VALIDATE_INT));
2624

2725
echo "Done\n";
2826
?>
2927
--EXPECT--
30-
string(4) "test"
3128
string(18) "http://example.com"
3229
string(27) "&#60;b&#62;test&#60;/b&#62;"
3330
filter_input(): Argument #4 ($options) must be of type array|int, stdClass given
34-
string(6) "string"
3531
float(12345.7)
3632
string(29) "&#60;p&#62;string&#60;/p&#62;"
3733
bool(false)

ext/filter/tests/025.phpt

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,25 @@ var_dump(filter_var(".", FILTER_SANITIZE_STRING));
1515

1616
echo "Done\n";
1717
?>
18-
--EXPECT--
18+
--EXPECTF--
19+
Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in %s on line %d
1920
string(0) ""
21+
22+
Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in %s on line %d
2023
string(0) ""
24+
25+
Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in %s on line %d
2126
string(12) "!@#$%^&*()'""
27+
28+
Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in %s on line %d
2229
string(24) "!@#$%^&#38;*()&#39;&#34;"
30+
31+
Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in %s on line %d
2332
string(11) "`1234567890"
33+
34+
Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in %s on line %d
2435
string(5) "`123`"
36+
37+
Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in %s on line %d
2538
string(1) "."
2639
Done

ext/filter/tests/026.phpt

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,31 @@ var_dump(filter_var("", FILTER_SANITIZE_STRIPPED, FILTER_FLAG_STRIP_HIGH));
1919

2020
echo "Done\n";
2121
?>
22-
--EXPECT--
22+
--EXPECTF--
23+
Deprecated: Constant FILTER_SANITIZE_STRIPPED is deprecated in %s on line %d
2324
string(40) "Let me see you Stripped down to the bone"
25+
26+
Deprecated: Constant FILTER_SANITIZE_STRIPPED is deprecated in %s on line %d
2427
string(11) "!@#$%^&*()>"
28+
29+
Deprecated: Constant FILTER_SANITIZE_STRIPPED is deprecated in %s on line %d
2530
string(0) ""
31+
32+
Deprecated: Constant FILTER_SANITIZE_STRIPPED is deprecated in %s on line %d
2633
string(40) "Let me see you Stripped down to the bone"
34+
35+
Deprecated: Constant FILTER_SANITIZE_STRIPPED is deprecated in %s on line %d
2736
string(11) "!@#$%^&*()>"
37+
38+
Deprecated: Constant FILTER_SANITIZE_STRIPPED is deprecated in %s on line %d
2839
string(0) ""
40+
41+
Deprecated: Constant FILTER_SANITIZE_STRIPPED is deprecated in %s on line %d
2942
string(40) "Let me see you Stripped down to the bone"
43+
44+
Deprecated: Constant FILTER_SANITIZE_STRIPPED is deprecated in %s on line %d
3045
string(11) "!@#$%^&*()>"
46+
47+
Deprecated: Constant FILTER_SANITIZE_STRIPPED is deprecated in %s on line %d
3148
string(0) ""
3249
Done

ext/filter/tests/042.phpt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ script>alert(/ext/filter+bypass/);<
1414
$a = filter_var($var, FILTER_SANITIZE_STRING, array("flags" => FILTER_FLAG_STRIP_LOW));
1515
echo $a . "\n";
1616
?>
17-
--EXPECT--
17+
--EXPECTF--
18+
Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in %s on line %d
1819
XYZalert(/ext/filter+bypass/);ABC
20+
21+
Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in %s on line %d
1922
XYZalert(/ext/filter+bypass/);ABC

ext/filter/tests/043.phpt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ filter
77
$flags = FILTER_FLAG_ENCODE_AMP|FILTER_FLAG_ENCODE_LOW|FILTER_FLAG_ENCODE_HIGH;
88

99
for ($i = 0; $i < 256; $i++) {
10-
var_dump(filter_var(chr($i), FILTER_SANITIZE_STRING, array("flags" => $flags)));
10+
var_dump(filter_var(chr($i), FILTER_UNSAFE_RAW, array("flags" => $flags)));
1111
}
1212
?>
1313
--EXPECT--
@@ -45,12 +45,12 @@ string(5) "&#30;"
4545
string(5) "&#31;"
4646
string(1) " "
4747
string(1) "!"
48-
string(5) "&#34;"
48+
string(1) """
4949
string(1) "#"
5050
string(1) "$"
5151
string(1) "%"
5252
string(5) "&#38;"
53-
string(5) "&#39;"
53+
string(1) "'"
5454
string(1) "("
5555
string(1) ")"
5656
string(1) "*"
@@ -71,7 +71,7 @@ string(1) "8"
7171
string(1) "9"
7272
string(1) ":"
7373
string(1) ";"
74-
string(0) ""
74+
string(1) "<"
7575
string(1) "="
7676
string(1) ">"
7777
string(1) "?"

ext/filter/tests/052.phpt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ function filter_cb($var)
1010
}
1111

1212
$data = array ('bar' => array ('fu<script>bar', 'bar<script>fu') );
13-
var_dump(filter_var($data, FILTER_SANITIZE_STRING, FILTER_FORCE_ARRAY));
13+
var_dump(filter_var($data, FILTER_SANITIZE_SPECIAL_CHARS, FILTER_FORCE_ARRAY));
1414
var_dump($data);
1515
var_dump(filter_var($data, FILTER_CALLBACK, array('options' => 'filter_cb')));
1616
var_dump($data);
@@ -22,9 +22,9 @@ array(1) {
2222
["bar"]=>
2323
array(2) {
2424
[0]=>
25-
string(5) "fubar"
25+
string(21) "fu&#60;script&#62;bar"
2626
[1]=>
27-
string(5) "barfu"
27+
string(21) "bar&#60;script&#62;fu"
2828
}
2929
}
3030
array(1) {

ext/filter/tests/bug69202.phpt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ Bug #69202 (FILTER_FLAG_STRIP_BACKTICK ignored unless other flags are used)
44
filter
55
--FILE--
66
<?php
7-
var_dump(filter_var("``a`b`c``", FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_BACKTICK));
8-
var_dump(filter_var("``a`b`c``", FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_BACKTICK));
9-
var_dump(filter_var("``a`b`c``", FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH | FILTER_FLAG_STRIP_BACKTICK));
10-
var_dump(filter_var("``a`b`c``", FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH));
7+
var_dump(filter_var("``a`b`c``", FILTER_UNSAFE_RAW, FILTER_FLAG_STRIP_BACKTICK));
8+
var_dump(filter_var("``a`b`c``", FILTER_UNSAFE_RAW, FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_BACKTICK));
9+
var_dump(filter_var("``a`b`c``", FILTER_UNSAFE_RAW, FILTER_FLAG_STRIP_HIGH | FILTER_FLAG_STRIP_BACKTICK));
10+
var_dump(filter_var("``a`b`c``", FILTER_UNSAFE_RAW, FILTER_FLAG_STRIP_LOW | FILTER_FLAG_STRIP_HIGH));
1111
?>
1212
--EXPECT--
1313
string(3) "abc"

ext/filter/tests/bug69203.phpt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ var_dump(filter_var("\x7f", FILTER_UNSAFE_RAW, FILTER_FLAG_STRIP_HIGH));
99
var_dump(filter_var("\x7f", FILTER_SANITIZE_ENCODED, FILTER_FLAG_STRIP_HIGH));
1010
var_dump(filter_var("\x7f", FILTER_SANITIZE_SPECIAL_CHARS, FILTER_FLAG_STRIP_HIGH));
1111
?>
12-
--EXPECT--
12+
--EXPECTF--
13+
Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in %s on line %d
1314
string(0) ""
1415
string(0) ""
1516
string(0) ""

0 commit comments

Comments
 (0)