pukiwikiプラグイン/jumpto のバックアップ(No.14)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- pukiwikiプラグイン/jumpto へ行く。
- 1 (2017-08-19 (土) 12:35:37)
- 2 (2017-08-19 (土) 12:35:37)
- 3 (2017-08-19 (土) 12:37:11)
- 4 (2017-08-19 (土) 12:37:11)
- 5 (2017-08-19 (土) 12:38:18)
- 6 (2017-08-19 (土) 12:40:51)
- 7 (2017-08-19 (土) 12:41:04)
- 8 (2017-08-19 (土) 12:41:04)
- 9 (2017-08-19 (土) 13:10:52)
- 10 (2017-08-19 (土) 13:10:52)
- 11 (2017-08-19 (土) 13:10:52)
- 12 (2017-08-25 (金) 06:43:56)
- 13 (2017-08-25 (金) 06:43:56)
- 14 (2017-08-25 (金) 06:43:56)
表記、そんな感じのものを作ったので、一応公開しておきます。
プラグイン概要 †
コンテンツ内の外部サイトへのリンクを置換し、リダイレクトページへ飛ばすPukiWiki用プラグインです。
もともとは他の方が作成されていたもので、友瀬による部分的な改造を行いました。
このプラグインの本来の目的は、誰もが編集できる一般的wikiにおける「信頼できない」「悪意ある」サイトへのリンクを勝手に作られてしまう問題への回答です。当該wikiサイト以外へのリンクについては一度中間ページで確認表示することで、危険なサイトへの移動を抑止しよう、とすることを狙っています。
上記方式の弱点は、「このサイトは安全」と管理者が確信できるサイトへの転送も必ず「中間ページ」を介してしまうという点です。今回の友瀬版では、外部サイトであってもこのような「信頼できる」サイトへは直接飛ぶように指定できるようにしています。
また、オリジナルではEUC環境でいまいちな動作だったため、そこも修正してあります。
※友瀬のEUC環境でしか動作確認していません:UTF環境でおかしかったら、プラグイン内の「EUC対応」部分の1行を削除してください。
- オリジナル: teanan.homeip.net の元ページ
- 隠居小屋.netさん改造版。
- http://www.inkyogoya.net/pukiwiki/jumpto.html
- 友瀬版は、この隠居小屋さんの 2011-11-26版をベースに改造したものです。
インストール方法 †
- 本ページに添付されている下記ファイルをダウンロードし、「jumpto.inc.php」の名前で pukiwiki の pluginフォルダにおいてください。
- pukiwiki 1.4.x 系:
jumpto.inc.php
- pukiwiki 1.5.x 系:
jumpto.inc.php_1
- 1.4.x 系/1.5.x 系の差は、htmlspecialchars()/htmlsc() の差です。
- pukiwiki 1.4.x 系:
- スキンに埋め込んでおくタイプのプラグインです。
- 上記サイトを参考にして、スキンを書き換えてください。
- 簡単に書くと、以下のような内容を使用しているスキンの pukiwiki.skin.ja.php の最初のほうに記載すればよいです。
require_once(PLUGIN_DIR . 'jumpto.inc.php'); $body = plugin_jumpto_replace($body);
使い方 †
スキンに埋め込んでおくタイプのプラグインなので、wiki入力上で指定する内容はありません。
プラグイン内 plugin_jumpto_checkURL()において、信頼できるURLを記載することで、それを対象外にできます。
例えば以下のように書くことで、Twitterへのリンクは中間を挟むことなく指定できます。
array_push( $safelist, "https://twitter.com/");
技術的な話。 †
元のプラグインでは「自分自身のURL であるか否か」だけをチェックしていたところ、複数の「安全なサイト」を登録して比較できるようにしただけです。
安全なサイトはプラグイン内に直接記載しています;これ自体を一般編集可能にしてしまうと、悪意ある攻撃者が「信頼できないサイトを登録」できてしまうためです。
編集制限のあるページを参照するようにもできないことはないのですが、まあそこまではやらなくてもいいかな、と。
なおこの結果、転送先にある記事に起因して「さらに他のサイトに転送」されるリスクは発生します:例えば TwitterのURLを「信頼できる」ようにした結果、Twitter内の「変な記事」に起因しておかしなことになるリスクはあります。それはご理解の上、使用してください。
気になったこと †
元プラグイン、textarea が含まれていると、そこでhtml記述が狂っているように見えます。
詳しく調べてはないですが・・・
コメント †
ご意見などがあれば。