クライアントのブラウザ上で、リンク先が安全であるかポップアップで確認できるプラグイン
★☆☆☆☆
リンク先の安全性について、実際に行く前に調査しポップアップで表示します。
aguse.inc.cgi にリネームして下さい。
なし
Anti Spam プラグイン
★★★☆☆
迷惑メール及びメールアドレス収集プログラムへの対策のために、PyukiWikiで出力されるメールアドレスをすべて暗号化し、ブラウザーで復号できるようにします。
antispam.inc.cgi にリネームして下さい。
関数 make_link_mail を上書きします。
プラグイン等から、直接 <a href="mailto:...."> のように出力された場合のメールアドレスは暗号化されません。make_link_mail 関数を経由するようにして下さい。
wikiスパミング防止プラグイン
★★☆☆☆
cookieを用いて、簡易的にwikiスパミングを防止します。
antispamwiki.inc.cgi にリネームして下さい。
なし
凍結パスワードを一時クッキーに保存するプラグイン
★★★★☆
凍結パスワードを一時クッキーに保存します。一度凍結パスワードで認証されると、ブラウザを閉じるまで認証のテキストボックスが出現しなくなります。
authadmin_cookie.inc.cgi にリネームして下さい。
関数 authadminpassword を上書きします。
このプラグインは評価版です。1.0において、実装方法が変更される予定です。
ロボット型検索エンジン向けのキーワードを自動生成する
★★★☆☆
autometarobot.inc.cgi にリネームして下さい。
関数 meta_robots を上書きします。
検索エンジンに対して重複URLのオリジナルを指定する
★★☆☆☆
検索エンジンに対して重複URLのオリジナルを指定する
canonical.inc.cgi にリネームして下さい。
$::canonical::url にオリジナルのURLを指定して下さい。
なし
CMSエンジンとして考慮すると、同一のページの別名URLの存在を消すことは、困難なことです。
★★★☆☆
SPAM防止の為の画像文字認証を処理する。
SPAM防止の為の画像文字認証を処理する。
GD モジュールをインストールして下さい。
captcha.inc.cgi にリネームして下さい。
skinディレクトリに、True Type フォントを指定して下さい。
info/setup.cgi に 使用するフォントのパスを $captcha::font 変数に指定して下さい。**上書きする関数
spam_filter
★★☆☆☆
google-analytics.com サービスによる、サイトトラッキングシステム
googleアナリティスによるサイトトラッキングシステム
google_analytics.inc.cgi にリネームします。
info/setup.cgi に登録したアカウント (UA- で始まるもの) を
$GOOGLEANALTYCS::ACCOUNT 変数にセットする。
複数のサブドメインがある場合は、
$GOOGLEANALTYCS::MULTISUB に 「.example.com」の形式で記載する。
複数のトップレベルドメインがある場合、
$GOOGLEANALTYCS::MULTITOP=1 をセットする。
なし
合計で1ヶ月500万ビューを超えると課金が発生するようです。
★☆☆☆☆
transrate.google.com サービスによる、自動翻訳サービス
google翻訳による、選択式自動翻訳です。
google_transrate.inc.cgi にリネームします。
なし
IEの互換表示ボタンを強制的になくすプラグイン
★★☆☆☆
Internet Explorere 8 以降で互換表示ボタンが表示されるのを阻止します。
なお、他のコンテンツやスキンのCSSの互換が悪い場合には使用しないで下さい。ブラウジングできるようにします。
2011年11月に発表された、Windows 8 の Internet Explorer では、互換表示ボタンがなくなりません。
iecompatiblehack.inc.cgi にリネームして下さい。
なし
★★★★☆
Wiki国際化対応プラグイン
言語別のwikiを作成できるようにします。
HTTP_ACCEPT_LANGUAGEを自動認識し、優先される言語を表示し、プラグイン lang.inc.pl によって設定された言語を表示できるようにします。
lang.inc.cgi にリネームして下さい。
以下のディレクトリを作成して下さい。
attach.(lang) example attach.en diff.(lang) example diff.ja cache.(lang) example cache.zh-cn counter.(lang) example counter.en-us info.(lang) example info.fr wiki.(lang) example wiki.ja
euc sjis utf8
$::lang_list="ja en";
この機能を利用すると、以下の初期化が2回行なわれますが、仕様です。
init_lang が2回呼び出される リソースの読み込み(上書きします) データベースをクローズし、ディレクトリを再設定し、データベースをオープン
ありません
★☆☆☆☆
外部リンクへのカウンターを取る
linktrack.inc.cgi にリネームして下さい。
必要な場合、info/setup.cgi に以下の変数を記載して下さい。
$linktrack::ignoredomain = wikiのURL (http://等のプリフィックスは除く)
複数指定する場合は、「,」で区切って指定できます。
例:abcdefg.com/~user,example.com
★★☆☆☆
アクセスログをプラグイン
wikiへのアクセスログを取得します。
logs.inc.cgi にリネームして下さい。
logs ディレクトリを作成して下さい。(デフォルト)
この機能を利用すると、以下の初期化が2回行なわれますが、仕様です。
init_logs が2回呼び出される リソースの読み込み(上書きします) データベースをクローズし、ディレクトリを再設定し、データベースをオープン
ありません
★★★★☆
The Open Graph protocol
The Open Graph protocol
ogp.inc.cgi にリネームして下さい。
ありません
★★★☆☆
階層下にMenuBar等のシステムページを生成する。
階層下にMenuBar等のシステムページを生成する。
pathmenu.inc.cgi にリネームして下さい。
ありません
★★★☆☆
Weblog用のpingを送信する。
指定したサーバーリストにWeblog用のpingを送信します。
ping.inc.cgi にリネームして下さい。
$ping::serverlist に pingサーバー一覧を1行ずつ記載します。
RSSのURLが必要な場合は、パラメータ中に RSSURIENC を含めて下さい。
デフォルトの登録内容だけでも、使用できるようになっています。
関数 do_write_after を上書きします。
★★★★★
ASCII文字以外のドメイン名を持つURLをpunycode形式に変換する
多言語文字等のASCII文字以外のドメイン名を持つURLをpunycode形式に変換します。
http://日本語.jp/ → http://xn--wgv71a119e.jp/
perl 5.8.1 以降の環境でないと使用できません。
現在のバージョンは日本語ドメインにしか対応していません。
punyurl.inc.cgi にリネームして下さい。
関数 make_link_url を上書きします。
★★☆☆☆
階層下のページ名を容易にリンクするプラグイン
WikiName や、BracketName? でリンクしても、以下のような階層下にあるようなページにリンクできるようにします。
PyukiWiki/Glossary/WikiName PyukiWiki/Sample/BracketName
先に、階層下よりも、実際のページ名で検索しますので、名前が重複する場合はすべてのページ名でエイリアス等を使用してリンクして下さい。
slashpage.inc.cgi にリネームして下さい。
関数 make_link_wikipage を上書きします。
★★☆☆☆
Weblog用のtrackbackを処理する。
Weblog用のtrackbackを処理する。
trackback.inc.cgi にリネームして下さい。
./trackback ディレクトリを作成して下さい。
なし
★★☆☆☆
SEO対策の為に、URLから ? を取り除いて検索エンジンにヒットしやすくするプラグイン
GoogleやYahoo等のロボット型検索エンジンでは、明らかにスクリプトであるようなページをクロールしにくいようになっています。そのために、サイトの検索エンジンの結果がランクダウンしてしまう可能性があります。
そのために、URLから ? 等を取り除いて、PyukiWikiを動的ページではなく、静的ページとしてロボットに認識させる方法を提供します。
WikiName や、BracketName? でリンクしても、以下のような階層下にあるようなページにリンクできるようにします。
PyukiWiki/Glossary/WikiName PyukiWiki/Sample/BracketName
先に、階層下よりも、実際のページ名で検索しますので、名前が重複する場合はすべてのページ名でエイリアス等を使用してリンクして下さい。
urlhack.inc.cgi にリネームして下さい。
デフォルトでは、PATH_INFOを使用するようになっていますので、そのまま使用利用できます。対応していないサーバーもあるものの、こちらのが軽快に動作します。
http://example.com/ 等、CGI名をTOPページとして省略させるようなURLには対応していません。
http://example.com/index.cgi が実態であれば index.cgiをwikiにリネームしてから、以下の記述を .htaccessに加えることをおすすめします。
<FilesMatch "^wiki$"> ForceType application/x-httpd-cgi </FilesMatch>
こうすることで、 http://example.com/wiki をTOPページとすることができます。
こちらのが多くのサーバー、及び、省略されたURLに対応できますが、アクセスされる度にサーバーにエラーログが残るという問題があります。
ただし、nphスクリプトが対応していないサーバーでは使用できません。
RewriteEngine on RewriteBase /
RewriteCond %{REQUEST_URI} !^/(attach|cache|image|skin) RewriteRule ^\?(.*)$ ./index.cgi?$1 [L] RewriteCond %{REQUEST_URI} !^/(attach|cache|image|skin) RewriteRule ^(.+)/$ ./index.cgi/$1 [L] RewriteCond %{REQUEST_URI} !^/(attach|cache|image|skin) RewriteRule ^$ ./index.cgi [L] ErrorDocument 400 /nph-index.cgi?cmd=servererror ErrorDocument 401 /nph-index.cgi?cmd=servererror ErrorDocument 402 /nph-index.cgi?cmd=servererror ErrorDocument 403 /nph-index.cgi?cmd=servererror ErrorDocument 404 /nph-index.cgi?cmd=servererror ErrorDocument 500 /nph-index.cgi?cmd=servererror
$::fake_extention='/'; http://example.com/FrontPage/ http://example.com/PyukiWiki/Download/ http://example.com/a5d8a5eba5d7/
1:punyエンコードを使用します。少しURLが短くなります。 2:UTF8エンコードを使用します。ブラウザーや検索結果に母国語が表示されます。 3:短縮URLロジックを用いたエンコードを使用します。別途短縮用データベースの ディレクトリ(./urldb/)が必要です。
0: 無条件エンコードをする 1: 数字とアルファベットのみで構成されるページのみエンコードをしない 2: 数字、アルファベット、dot(.)、slash(/)で構成されるページのみエンコードをしない
関数 make_cookedurl を上書きします。
★★☆☆☆
クリックジャッキング対策を行なう。
外部サイトからフレームタグで表示指定された時に、セキュリティー確保の理由で表示できなくするプラグイン
Internet Explorer 8 から対応されています。
xframe.inc.cgi にリネームして下さい。
以下の内容が、info/setting.ini.cgi に記載できます。
$XFRAME::MODE="DENY" - 他のWebページのframe上またはiframe上での表示を拒否する。
$XFRAME::MODE="SAMEORIGIN" - Top-level-browsing-contextが一致した時のみ、他のWebページ上のframe又はiframe上での表示を許可する。
クリックジャッキングとは、外部から判断のつかない悪意のある攻撃者サイトに誘導された利用者が、気づかない間に標的サイト上で不正操作(ショッピングカートの送信、メール送信、広告のクリック、会員サービスからの退会)を引き起こすクリックをさせられる可能性があります。攻撃事例はまだ少ないものの、Twitterにおいて利用者の意図しない投稿をさせられてしまう事件がありました。
JavaScriptを用いたクリックジャッキング対策もありますが、今ではブラウザー側で、X-FRAME-OPTIONSを設定することで、外部サイトからFRAME、またはIFRAMEで表示しようとした時に、阻止することができます。
なお、このExpluginでは、HTTPヘッダで出力していますが、HTMLで出力することも可能で、または、ウェブサーバー上で、「X-FRAME-OPTIONS」ヘッダに、「DENY」か「SAMEORIGIN」を記述することでも、実現可能です。
なし