SDK には、ライセンスキーの 保存・読み込み・表示時の安全なマスキング を行うためのユーティリティが含まれています。
これらを利用することで、ユーザーが誤ってキーを漏洩したり、画面共有・ライブ配信などでキーが見えてしまうリスクを減らせます。
保存方針
ライセンスキーは、次のどちらかに保存することが推奨されます。
| 保存場所 | 用途 | 特徴 |
|---|---|---|
options | プラグイン単体利用 | サイト全体で共通のライセンス |
user_meta | ユーザーごとに異なる利用権 | SaaS・クラウド連携系に向く |
多くの WordPressプラグイン は options 保存を使います。
保存例(options)
AppCotton_SDK::save_license_key('yourplugin_license_key', $license_key);
保存先: wp_options.yourplugin_license_key
復元(読み込み)
$license_key = AppCotton_SDK::get_license_key('yourplugin_license_key');
キーが保存されていなければ null を返します。
マスキング(キーを UI 表示する際)
ユーザーにライセンスキーを見せるときは、丸見えにする必要はありません。mask() を使うと、次のように末尾だけ表示されます:
$masked = AppCotton_SDK::mask('ABCD-1234-5678-XYZ');
echo $masked;
表示例
ABCD-****-****-XYZ
| 利点 | 説明 |
|---|---|
| 不用意な漏洩を防ぐ | スクリーン共有 / 動画収録中でも安全 |
| 本人確認が可能 | 「末尾4桁」を照合すれば同一キーだと特定できる |
| サポート対応が楽になる | 「最後の4文字教えてください」と案内できる |
UI表示の実用例
$license_key = AppCotton_SDK::get_license_key('yourplugin_license_key');
if ($license_key) {
printf(
'<p>現在のライセンスキー: <code>%s</code></p>',
esc_html( AppCotton_SDK::mask($license_key) )
);
} else {
echo '<p>ライセンスキーは登録されていません。</p>';
}
保存時のバリデーション
保存時には自動で以下の処理が行われます:
| 処理 | 説明 |
|---|---|
| 余計な空白を除去 | trim() |
| 許可文字種を制限 | A-Z / 0-9 / - のみ |
| 空文字なら削除 | delete_option() or delete_user_meta() |
AppCotton_SDK::save_license_key('yourplugin_license_key', $_POST['license_key']);
サニタイズは SDK に任せてOK です。
まとめ
• ライセンスキーは options または user_meta に保存できる
• save / get / delete を SDK が一元管理
• UI表示時は mask() を使用して安全に表示
• マスキングにより誤共有・漏洩を防止する
• 保存時は SDK が自動でサニタイズ処理を行う