更新日: 2023-10-01 (日)
|
PukiWikiではこの頃、ボットによるスパムが目立つため、簡易的にCloudFlare Turnstileでスパム対策をしてみる。
ここではM.T.氏のTurnstileプラグインを使う。
以下のページのインストール方法に従って導入する。
https://github.com/ikamonster/pukiwiki-turnstile [サムネイル添付]
Turnstileは、CloudFlareが開発するCaptchaの代用となる無料の認証である。
ボットと人間を区別するものであり、主にボットによるスパム対策をするために使われる。
PukiWiki用Turnstileプラグインの配布ページからturnstile.inc.phpを手に入れる。
上記の画像で赤く囲った場所「plugin」をクリックする。
「turnstile.inc.php」をクリックする。
#img(): File not found: blob:https://imgur.com/58fbe741-e2dc-4e41-80a3-9c7ec93a7547ダウンロードしたファイルをPukiWiki直下のpluginフォルダに入れる。
CloudFlareへログインする (アカウントを持っていないのであれば作る)
左のメニューから「Turnstile」を選択する。
「サイト名」、「ドメイン」の入力欄を埋めてウィジェット モード(Widget Type)は、「不可視」(Invisible)を選ぶ。
ここで選択を間違えると動作しないので注意、間違えても設定から変更すること。
PLUGIN_TURNSTILE_SITE_KEYとPLUGIN_TURNSTILE_SECRET_KEYにそれぞれサイト キーとシークレット キーを入れる。
必要に応じて別の定数も変更できる。
スキンファイルであるpukiwiki.skin.phpを編集する。(デフォルトではskin/pukiwiki.skin.php)
別のスキンを入れているのであれば基本的に「skin/〇〇/pukiwiki.skin.php」となる。
「</body>」直前に以下のコードを挿入する。
<?php if (exist_plugin_convert('turnstile')) echo do_plugin_convert('turnstile'); // Turnstile plugin ?>
</p> </div> +<?php if (exist_plugin_convert('turnstile')) echo do_plugin_convert('turnstile'); // Turnstile plugin ?> </body> </html>
次にPukiWiki直下のlibフォルダに入っているplugin.phpを編集する。
「$retvar = call_user_func('plugin_' . $name . '_action');」の前に以下のコードを挿入する。
if (exist_plugin_action('turnstile') && ($__v = call_user_func_array('plugin_turnstile_action', array($name))['body'])) die_message($__v); // Turnstile plugin
if (do_plugin_init($name) === FALSE) { die_message('Plugin init failed: ' . htmlsc($name)); } + if (exist_plugin_action('turnstile') && ($__v = call_user_func_array('plugin_turnstile_action', array($name))['body'])) die_message($__v); // Turnstile plugin $retvar = call_user_func('plugin_' . $name . '_action'); // Insert a hidden field, supports idenrtifying text enconding
これで導入は完了だ。
コメントはありません。 Comments/blog/2023-10-01
目次 |
[もっと見る]
[もっと見る]