Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 27.1Mb
PDF (A4) - 27.1Mb
EPUB - 7.5Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


MySQL 5.6 リファレンスマニュアル  /  ...  /  ユーザー定義関数のセキュリティー上の予防措置

24.3.2.6 ユーザー定義関数のセキュリティー上の予防措置

MySQL では、ユーザー定義関数の誤用を防ぐためのさまざまな対策が講じられています。

UDF オブジェクトファイルは任意のディレクトリに配置できません。これらはサーバーのプラグインディレクトリに配置する必要があります。このディレクトリは、plugin_dir システム変数の値から取得できます。

CREATE FUNCTION または DROP FUNCTION を使用するには、mysql データベースの INSERT 権限または DELETE 権限をそれぞれ持っている必要があります。これが必要となるのは、これらのステートメントが mysql.func テーブルに対して行の追加および削除を行うためです。

UDF には、メインの xxx() 関数に対応する xxx シンボルのほかに、少なくとも 1 つのシンボルが定義してください。これらの補助シンボルは、xxx_init()xxx_deinit()xxx_reset()xxx_clear()、および xxx_add() 関数に対応します。mysqld では、xxx シンボルのみを持つ UDF をロードできるかどうかを制御する --allow-suspicious-udfs オプションもサポートされています。デフォルトでは、このオプションはオフになっており、正当な UDF が含まれている共有オブジェクトファイル以外から関数がロードされることを防いでいます。xxx シンボルのみが含まれていて、補助シンボルを含めるように再コンパイルできない古い UDF がある場合は、--allow-suspicious-udfs オプションを指定する必要がある場合があります。それ以外の場合は、この機能を有効にしないようにしてください。


User Comments
Sign Up Login You must be logged in to post a comment.