「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

サニタイズ

pointこの用語のポイント

point特別な意味を持つ文字の特別さを無効化するよ

pointホームページやデータベースの話で出てくるよ

point人によって定義が違う用語みたいだよ

スポンサーリンク

簡単に書くよ

サニタイズ(英:sanitize)とは

特別な意味を持つ文字の特別さを無効化して、意図していたのと違う動きをしないようにする処理のこと
です。

……と個人的には思っていますが、人によって定義が違うみたいですね。


image piyo

詳しく書くよ

ホームページの世界やデータベースの世界などでは、文字文字列(文字の組み合わせ)に特別な意味を持たせて特殊な処理をさせたりします。

サニタイズ

この「特別な意味」を無効化する処理が「サニタイズ」です。

サニタイズ2

……と、いきなり言われても分かりませんよね。
大丈夫です。
例を挙げて説明します。

ホームページの世界では

<br>

と書くと「これは改行ですよ!」な目印になります。

例えば、ホームページのファイル

ボクはピヨ太です。<br>趣味は昼寝です。

と書いてあったとしましょう。
そうすると画面上には

ボクはピヨ太です。
趣味は昼寝です。


と表示されます。
「<br>」が改行に置き換わっていますよね。

それでは、文字通り「<br>」と表示したい場合は、どうすれば良いのでしょうか。
画面上に

ボクはピヨ太です。<br>趣味は昼寝です。

と表示したい場合です。

そんなときは

&lt;br&gt;

と書きます。

先ほどの改行と考え方は同じです。
ホームページの世界では「&lt;」と書くと「<」と表示されます。
同じように「&gt;」と書くと「>」と表示されます。

ここでコンピュータさんの立場に立って考えてみてください。

コンピュータさんがやる処理は「『<br>』があったら改行に置き換えるよ!」です。
「&lt;br&gt;」は「<br>」ではないので改行に置き換えません。

ただし「&lt;」は「<」に置き換えられ「&gt;」は「>」に置き換えられます。
よって「&lt;br&gt;」と書くと画面上には「<br>」と表示されるのです。

それを踏まえて、読み進めてください。

ここにピヨ太君の作った「ピヨピヨ1行電子掲示板」があります。

サニタイズ3

ピヨピヨ1行電子掲示板は、メッセージ欄に書いた内容がホームページの画面に表示される仕組みです。

サニタイズ4

ピヨピヨ1行電子掲示板には誰でも自由に書き込めます。

サニタイズ5

書き込んだ内容は誰でも見られます。

サニタイズ6

そんな電子掲示板です。

ある日のことです。
アクマ君が以下の内容をピヨピヨ1行電子掲示板に書き込みました。

オレ、アクマ。<br>今日も元気にイタズラしまくってる。<br>特にピヨ太が相手だとイタズラし甲斐があるよね。<br>すぐムキになるから。<br>ゲヘヘ。

おやおや。
改行に置き換えられる「<br>」が、たくさん書いてありますね。

案の定、アクマ君の書いた内容は以下のように表示されました。

オレ、アクマ。
今日も元気にイタズラしまくってる。
特にピヨ太が相手だとイタズラし甲斐があるよね。
すぐムキになるから。
ゲヘヘ。


改行マークである「<br>」が実際の改行に置き換えられたのです。

サニタイズ7

それを見つけたピヨ太君は大激怒です。
「あんにゃろう!『1行』掲示板なのに、5行も書きやがった」とプンスカしました。

サニタイズ8

とはいえ、ピヨ太君は反省できる男です。
すぐに「まぁ、改行できるような仕組みになっていたのが悪かったな」と思い直しました。

サニタイズ9

反省したピヨ太君は行動に移します。
入力された「<br>」を「&lt;br&gt;」に置き換える処理をピヨピヨ1行電子掲示板に組み込みました。

サニタイズ10

これで「<br>」と入力されても改行になりません。
「<br>」と入力されたら、裏側で「&lt;br&gt;」に置き換えられて、画面上には「<br>」と表示されます。

サニタイズ11

これで、アクマ君も1行しか書き込めなくなりました。

オレ、アクマ。<br>今日も元気にイタズラしまくってる。<br>特にピヨ太が相手だとイタズラし甲斐があるよね。<br>すぐムキになるから。<br>ゲヘヘ。

と書き込んでも

オレ、アクマ。<br>今日も元気にイタズラしまくってる。<br>特にピヨ太が相手だとイタズラし甲斐があるよね。<br>すぐムキになるから。<br>ゲヘヘ。

と表示されます。

サニタイズ12

この話において、ピヨ太君がピヨピヨ1行電子掲示板に組み込んだ処理がサニタイズです。
入力された「<br>」を「&lt;br&gt;」に置き換えて特別な意味を無効化しています。

サニタイズ13

……と個人的には理解しています。

今回いろいろと調べてみたのですが、どうやら「サニタイズ」という用語は危険な用語のようです。

まず第一に、定義が人によって違います。
迂闊に「サニタイズって、こんな意味だよ!」とか書こうものなら、こだわり派な人たちが集まってきて「いいや違う!サニタイズは、こういう意味だ!」「おまえの解釈も違う!本当は、こうだ!」のように論争の火種になる可能性があるようです。

第二に「サニタイズするのは良いことか。それとも悪いことか」みたいな議論も一部界隈であるようです。
議論の内容には触れませんが、個人的には、きのこたけのこ戦争みたいなものだと思っています。

第三に「サニタイズするのは良いことか。それとも悪いことか」な議論に参戦しようとしている人同士の間でも細かい部分でサニタイズの定義が違ったりするみたいです。
そんな状態で議論を行ったら「えらいこっちゃ(--;」になりそうですよね。

ということで、こだわり派な人がたくさんいる状況では「サニタイズが、うんちゃら」とか言わない方が良いみたいです。

ちなみに、このページの説明はITが専門外の他業種の方やIT業界に入りたてで右も左も分からないような人たちに向けて書いています。
「サニタイズ」という用語に一家言お持ちの専門家っぽい人たちは、言いたいこともあるかもしれませんが、グッと飲み込んで、華麗にスルーしていただければ幸いです。


image piyo2

一言でまとめるよ

まぁ「サニタイズ」って単語が出てきたら「特別な意味を持つ文字の特別さを無効化する処理なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像021
書籍画像039

おまけ

■訳してみるよ

「sanitize(サニタイズ)」の意味は

・消毒する
・衛生的にする


とかです。




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
実践サイバーセキュリティ入門講座 現場に残された痕跡からハッカーの攻撃を暴け
「定年力」の鍛え方 老後の毎日を最高にする方法