PHPの本を読んでいて、unlinkを利用したファイルの削除のところで、どうもわからない単語に出会った。
Whenever you access files on your hard disk directly, you must also always ensure that it is impossible for your filesystem to be compromised.
For example, if you are deleting a file based on user input, you must make absolutely certain that it is a file that can be safely deleted and that the user is allowed to delete it.
(Learning PHP, MySQL, JavaScript, and CSS, 2nd Edition P144)
このcompromiseというのは通常「妥協する」という意味なのだが、妥協では文脈と会わないし、受動態なので「妥協される」となりさらに意味不明だ。ファイルシステムを安全に保てよ、壊されないように気を付けろよ、と言っているように見えるのだが、辞書に載ってない。
web検索してみると次のようなページが見つかった。
辞書に見る”compromise”はリスクの概念に留まると思われるのですが、昨今のセキュリティ関連のニュースで用いられる”compromise”にはもっと具体的な意味、つまり不正利用、暴露、犯罪目的の利用、などが含意されているように思われます。
Merriam Websterでは、
to reveal or expose to an unauthorized person and especially to an enemy
という定義(と<>内は例文)が見られます。このような定義はAmerican Heritage Dictionaryや英和辞典に見られず、昨今のセキュリティ関連のコンテクストでの用法を他に先駆けて取り入れたものではないかと思われます。
なるほど!じゃあやはり、「ファイルシステムが危なくならないように気を付けろ(壊れないように気を付けろ?)」と言ってるので間違いなさそうだ。こんな風な単語の術後的な使い方は、専門的になるほど増えてくるのかなぁ。日本語ですら面倒なのに憂鬱だなぁ。