11<?xml version =" 1.0" encoding =" utf-8" ?>
22<!-- $Revision$ -->
3- <!-- EN-Revision: dff279a1fb1cefe17b594d2058741b308e420a36 Maintainer: takagi Status: ready -->
4-
3+ <!-- EN-Revision: 53054bf8decc8648cf2e90a493692a161e2371af Maintainer: mumumu Status: ready -->
54<book xml : id =" book.filter" xmlns =" http://docbook.org/ns/docbook" >
65 <?phpdoc extension-membership =" bundled" ?>
76 <title >データのフィルタリング</title >
8- <titleabbrev >Filter </titleabbrev >
7+ <titleabbrev >フィルタ </titleabbrev >
98
109 <preface xml : id =" intro.filter" >
1110 &reftitle.intro;
12- <para >
11+ <simpara >
1312 この拡張モジュールは、データの検証や除去を行います。
1413 未知の (外部からの) データ、たとえばユーザーの入力などを扱う際に便利です。
15- HTML フォームから送られてくるデータなどがこれにあたります。
16- </para >
17- <para >
14+ < acronym > HTML</ acronym > フォームから送られてくるデータなどがこれにあたります。
15+ </simpara >
16+ <simpara >
1817 フィルタリングの方式には、大きく分けて
1918 <emphasis >検証 (validation)</emphasis > と <emphasis >除去 (sanitization)</emphasis >
2019 のふたつがあります。
21- </para >
22- <para >
23- < link linkend = " filter.filters.validate " >検証</ link > は 、
20+ </simpara >
21+ <simpara >
22+ 検証フィルタは 、
2423 データが何らかの条件を満たしているかどうかをチェックします。
24+ 検証フィルタは、
25+ <constant >FILTER_VALIDATE_<replaceable >*</replaceable ></constant >
26+ 定数によって識別できます。
2527 たとえば <constant >FILTER_VALIDATE_EMAIL</constant > を渡すと、
2628 データがメールアドレスとして正しい形式かどうかを調べます。
2729 データ自体には何も手を加えません。
28- </para >
29- <para >
30- <link linkend =" filter.filters.sanitize" >除去</link > は、
31- 望まれていない文字を除去するなどしてデータを変更します。
30+ </simpara >
31+ <simpara >
32+ 一方除去フィルタは、データを"綺麗に"します。
33+ よって、入力データに文字を追加/削除することでデータを変更します。
34+ 除去フィルタは、
35+ <constant >FILTER_SANITIZE_<replaceable >*</replaceable ></constant >
36+ 定数によって識別できます。
3237 たとえば <constant >FILTER_SANITIZE_EMAIL</constant > を渡すと、
3338 メールアドレスとして無効な文字が含まれている場合にそれを除去します。
34- つまり、データの検証を行うわけではありません。
35- </para >
36- <para >
37- 検証および除去のいずれについても、必要に応じて <emphasis >フラグ</emphasis >
38- を使用して挙動を変更することができます。たとえば <acronym >URL</acronym >
39- のフィルタリング時に <constant >FILTER_FLAG_PATH_REQUIRED</constant >
40- を渡すと、パス (<literal >http://example.org/foo</literal > における
39+ しかし、除去済みのデータ自体が、
40+ 正しいメールアドレスの形式かどうかを調べるわけではありません。
41+ </simpara >
42+ <simpara >
43+ ほとんどのフィルタには、
44+ オプションの <emphasis >フラグ</emphasis > があり、
45+ その振る舞いを細かく調整できるようになっています。
46+ こうしたフラグは、
47+ <constant >FILTER_FLAG_<replaceable >*</replaceable ></constant >
48+ 定数によって識別できます。
49+ たとえば、検証フィルタ <constant >FILTER_VALIDATE_URL</constant >
50+ と一緒に <constant >FILTER_FLAG_PATH_REQUIRED</constant >
51+ を使うと、<acronym >URL</acronym > に特定のパス
52+ (<literal >http://example.org/foo</literal > における
4153 <literal >/foo</literal > など) を必須とすることができます。
42- </para >
54+ </simpara >
4355 </preface >
4456
4557 &reference.filter.setup;
46- &reference.filter.filters;
4758 &reference.filter.constants;
4859 &reference.filter.examples;
4960 &reference.filter.reference;
5061
5162</book >
52-
5363<!-- Keep this comment at the end of the file
5464Local variables:
5565mode: sgml
@@ -70,4 +80,3 @@ vim600: syn=xml fen fdm=syntax fdl=2 si
7080vim: et tw=78 syn=sgml
7181vi: ts=1 sw=1
7282-->
73-
0 commit comments