ja:rule:out:pcreメタ文字のエスケープはデリミター文字を指定する
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| ja:rule:out:pcreメタ文字のエスケープはデリミター文字を指定する [2016/07/11 09:48] – [適合コード例] yohgaki | ja:rule:out:pcreメタ文字のエスケープはデリミター文字を指定する [2016/07/14 01:55] (current) – [非適合コード例(非互換エスケープ関数の利用)] yohgaki | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== pcreメタ文字のエスケープはデリミター文字を指定する ====== | ====== pcreメタ文字のエスケープはデリミター文字を指定する ====== | ||
| - | PHP 7.0未満のPHPではPCRE関数はe修飾子をサポートしている。ユーザー入力を正規表現に利用する場合、pcre_quote関数によるエスケープが必要だが、PCREのデリミター文字は任意の記号文字が指定できるため、オプションのデリミター文字を必ず指定しなければならない。指定しない場合、任意PHPコード実行が可能となる。 | + | PHP 7.0未満のPHPではPCRE関数はe修飾子をサポートしている。ユーザー入力を正規表現に利用する場合、[[http:// |
| - | ===== 非適合コード例 ===== | + | ===== 非適合コード例(デリミター文字なし) |
| <code php> | <code php> | ||
| | | ||
| | | ||
| + | // making sure that :param does not apply values to :param1 | ||
| + | | ||
| + | '/' | ||
| + | | ||
| + | | ||
| + | ); | ||
| + | // for parameters the appear at the end of the string | ||
| + | | ||
| + | '/' | ||
| + | | ||
| + | | ||
| + | ); | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ===== 非適合コード例(非互換エスケープ関数の利用) ===== | ||
| + | |||
| + | [[http:// | ||
| + | |||
| + | <code php> | ||
| + | | ||
| + | | ||
| // making sure that :param does not apply values to :param1 | // making sure that :param does not apply values to :param1 | ||
| | | ||
| Line 31: | Line 53: | ||
| // making sure that :param does not apply values to :param1 | // making sure that :param does not apply values to :param1 | ||
| | | ||
| - | '/' | + | '/' |
| | | ||
| | | ||
ja/rule/out/pcreメタ文字のエスケープはデリミター文字を指定する.1468230523.txt.gz · Last modified: 2016/07/11 09:48 by yohgaki
