PEAK XOOPS - WYSIWYG Editor for BB-Code in englishin japanese

Archive | RSS |
XOOPS
XOOPS : WYSIWYG Editor for BB-Code
Poster : GIJOE on 2006-08-11 05:53:09 (13404 reads)

in englishin japanese
HTTP経由で入力された文字列の特殊文字(<>&'")を、エスケープしないでブラウザに送出する、というのは基本的にはやってはいけないことです。

ゲストなり信用できないユーザの投稿をそのように表示すれば、単純にScriptInsertion脆弱性ですし、管理者や信用できるユーザだけに許可したとしても、きちんと対策しなければCSRFとのコンビネーション攻撃の対象になるだけです。

その一方で、ブラウザのWYSIWYG Editorを利用したい、という需要は常にあります。ブラウザのWYSIWYG Editor機能を利用したいが故に、本来のエスケープ処理を外してHTMLを許可する、なんてHack例も多く見られますが、これは当然、「わざわざ穴を開けている」ことに他なりません。

HTMLを許可せずに、WYSIWYGなエディタが使えれば良い
転じて
BB-Codeを直接解釈するWYSIWYGエディタ

これこそが、理想的な入力環境でしょう。

ところが、現実にはそう簡単ではありません。というのも、ブラウザのWYSIWYGエディタを作ったことがあれば判ると思いますが、この手のWYSIWYGエディタはブラウザの機能として提供されたものを利用しているに過ぎないからです。

「ブラウザ依存のないWYSIWYGエディタが欲しい」

なんて要望もたまにみかけますが、そんなのは構造的にあり得ないことなのです。IEとFirefoxでは、WYSIWYGエディタ用として提供されている機能が違うのですから、使える機能も当然違ってきます。

もちろん、クライアント(=ブラウザ)を自分で作る、ところまで面倒を見れば話は別です。でも、それが相当に大変な作業であることは簡単に想像できるでしょう。

相反する2つの要望

「ブラウザのWYSIWYG機能を利用するにはHTMLしかない」
「XOOPS側としてはHTMLをエスケープしたい」

を両立するとなれば、自ずと回答も限られます。BB-Code - HTMLの相互変換フィルターを用意するしかないでしょう。編集時にはBB-CodeをHTMLに変換したものをtextareaに渡し(もちろんエスケープは行う)、登録時には、HTMLをBB-Codeに変換する。

ここで問題になるのが後者であることは言うまでもありません。WYSIWYGエディタに用意された装飾機能は多いので、BB-Codeで表現しきるのはとても無理でしょう。そのため、以下の方法を採用することになると思います。

- BB-Codeを拡張する (Cube 2.1なら簡単?)
- WYSIWYGエディタ側を制限する

それと、BB-Codeに変換しきれないHTMLはそのまま残しておく方が良いかもしれません。そのまま残しておいても、表示時にはエスケープされるので脆弱性には直接つながりませんし、どのHTMLがBB-Codeに変換されなかったかをすぐさま知ることができるのは大きなメリットです。

まだまだアイデア段階にすぎませんが、これを実装することで、現在のWYSIWYGエディタ禍と呼べる状況が改善されれば良いのですが。
(悪気がないのは判るのですが、穴だらけのWYSIWYGエディタを同梱して、「便利でしょ」とか言われてもねえ……)

Printer friendly page Send this story to a friend

Comments list

Fahad  Posted on 2006/8/31 20:53
Hello guys,
I've made an editor for bbcode which is wyciwyg, with out enabling HTML, and it's very easy to plug, It takes less than 5 min. to be pluged.

But it is in arabic, don't worry, I can translate it.
I told you that, so if any one wants to see it : http://www.phpbbdream.com/bb/

If any one interested, just send me an email.
FYI, it is not free...!!!
irmtfan  Posted on 2006/8/13 14:28
SOUNDS GREAT

its very needed. a LIGHT and nice looking bbcode editor for xoops.

samuels worked on such a thing along time ago here is the news:
http://www.xoops.org/modules/news/article.php?storyid=2917

and frankblack had a nice comment there.
cebepuh  Posted on 2006/8/11 16:26 | Last modified
I think that an editor that generates only bbcode would be much appreciated. I know I would appreciate it.

Actually, samuels was working on something similar (read the news piece here) but it seems the project is no longer active. But the demo looked great.
Login
Username or e-mail:

Password:

Remember Me

Lost Password?

Register now!