質問編集履歴
3
抜け修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -17,7 +17,7 @@
|
|
17
17
|
|受信時|aaaa.pdf|
|
18
18
|
|
19
19
|
|
20
|
-
上記のコミットでは脆弱性への対策として、制御文字
|
20
|
+
上記のコミットでは脆弱性への対策として、制御文字、セパレータおよび特殊文字を置換するよう下記のコードが追加されたようです。
|
21
21
|
|
22
22
|
```
|
23
23
|
$filename = preg_replace( '/[\pC\pZ]+/i', '', $filename );
|
2
\p{Cf}でも化けたため変更候補のコードから\pC関連の指定をすべて削除した
title
CHANGED
File without changes
|
body
CHANGED
@@ -26,13 +26,16 @@
|
|
26
26
|
preg_replaceの仕様がよくわかっていないのですが、置換対象に`\pC`を指定した場合、
|
27
27
|
マルチバイト文字内の該当コードも置換してしまい、上記の表のような文字化けが発生するのでしょうか?
|
28
28
|
|
29
|
-
この文字化けへの対策のために、`\pC`のうち`\p{Cc}`に該当するものだけ
|
29
|
+
この文字化けへの対策のために、`\pC`のうち`\p{Cc}`に該当するものだけを直接指定してやればどうかと考え、
|
30
|
-
下記のコードへ変更し
|
30
|
+
下記のコードへ変更したところ、文字化けは発生しなくなりました。
|
31
|
-
|
32
31
|
```
|
33
|
-
$filename = preg_replace( '/[\x00-\x1F\x7F\
|
32
|
+
$filename = preg_replace( '/[\x00-\x1F\x7F\pZ]+/i', '', $filename );
|
34
33
|
```
|
35
34
|
|
35
|
+
こちらのコードにセキュリティ上のリスクはございますでしょうか?
|
36
|
+
|
37
|
+
|
38
|
+
|
36
39
|
文字プロパティについてはこちらのページを参考にしました
|
37
40
|
[PHP: Unicode 文字プロパティ - Manual](https://www.php.net/manual/ja/regexp.reference.unicode.php)
|
38
41
|
|
1
WordPressについての質問であることを明確化
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
PHP初級者です。
|
2
2
|
|
3
|
+
WordPressの統合的な問い合わせフォーム用プラグインであるContact Form 7に
|
3
|
-
2020年12月に適用された
|
4
|
+
2020年12月に適用された脆弱性対策により、
|
4
5
|
添付ファイル名に日本語などのマルチバイト文字が含まれる場合、
|
5
6
|
送信時にファイル名が変換されてしまいます。
|
6
7
|
|