アップル社のMac OS X用純正ブラウザSafariには、次のようなバグがあります。
- フォームデータ中の半角チルダが勝手に全角チルダに置換される。
- 日本語文字コードの自動判別がうまくいかない。 とくにUTF-8の自動判別はできない。
このうち、1のバグはPukiWikiに致命的なダメージを与えます。
一般的な掲示板では、フォームデータ内の半角チルダが全角に置換されても、Safariで投稿を行なった人の記事のみ置換されるので、他の記事には影響しません。
ところが、PukiWiki(他のWikiも同様)では、既存のページの編集が自由に行なえることから、フォームに読み込まれた他の人の投稿した文章も置換の対象となってしまいます。
とくにPukiWikiでは、半角チルダは、段落の始まりを明示したり、行末での改行を行なう機能を持ちます。このため、多くのページで半角チルダが使用されています。
したがって、半角チルダを全角に置換してしまうSafariでの編集を許可すると、Wikiデータが改竄され、段落や改行が反映されなくなります。これを防ぐために、PukiWiki.orgでは、SafariによるWikiデータの編集はできなくしてあります。
具体的には、下記のような警告メッセージが表示されます。
(半角チルダが全角チルダに置換されてしまうようです。あなたのブラウザではページを更新できないかもしれません。)
あなたが使用しているブラウザは、半角チルダを全角チルダに置換してしまうようです。
ページの内容が破損してしまう恐れがあるため、更新を中断しました。
なお、Safariだけでなく、同じAppleWebKitを使用しているOmniWebでも同様のバグがあるため、編集規制の対象となっています。
現在、このバグが判明しているものは次のブラウザです。
このほか、雑談/3での報告によると、古いバージョンのOperaやw3mでも同様のバグがあるらしく*1、編集規制の対象になります。
いずれのブラウザについても、上記のバグが修正されれば、自動的に編集規制の対象からはずれます。
PukiWiki 1.4.2を設置している方は、開発サイトでSafari対策のための差分が公開されていますので、ご利用ください。
この差分を当てれば、PukiWiki.orgと同様のSafari対策を行なうことができます。