teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

抜け修正

2021/02/18 05:13

投稿

obsult
obsult

スコア19

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関連の指定をすべて削除した

2021/02/18 05:12

投稿

obsult
obsult

スコア19

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\p{Cf}\p{Cn}\p{Co}\p{Cs}\pZ]+/i', '', $filename );
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についての質問であることを明確化

2021/02/18 03:28

投稿

obsult
obsult

スコア19

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,7 @@
1
1
  PHP初級者です。
2
2
 
3
+ WordPressの統合的な問い合わせフォーム用プラグインであるContact Form 7に
3
- 2020年12月に適用されたContact Form 7の脆弱性対策により、
4
+ 2020年12月に適用された脆弱性対策により、
4
5
  添付ファイル名に日本語などのマルチバイト文字が含まれる場合、
5
6
  送信時にファイル名が変換されてしまいます。
6
7