**div.inc.php [#i7142213] |RIGHT:100|LEFT:360|c |~サマリ|画面分割プラグイン、DIV版| |~リビジョン|1.1| |~対応バージョン|1.4.2| |~投稿者|[[morikawa]]| |~投稿日|&new{2004-02-05 (THU) 18:10:41};| *** 概要 [#wd4c5985] [[../splitbody.inc.php]]は table を使ってごちゃごちゃしているので、DIV版を作り直した。 左右に並べてコンテンツを表示する。だけに留まらなく、div タグ焼き直しになったかも。 - STYLE指定がいまいちよく分からんが、とりあえず IE6/Netscape7.1で確認。どのみち、style定義できるようにしたので各自ポリシーで設定すればいいか、と。 - 引数へCSSクラス名を指定可能に。- 2004-03-11 *** 動作サンプル、使い方 [#h2285a00] :| #div(start) 右側へ表示するもの #div(end) 左側へ表示するモノ #div(clear) 表示が、 左側へ表示するモノ 右側へ表示するもの という感じ。入れ子も出来るので、3つでも4つでも出来るとは思う。 *** download [#k2fb741d] メンテ都合上、最新は [[morikawaのサイト:http://www.tetsuo.morikawa.name/tech/pukiwiki.php?pukiwiki%2Fplugins%2Fdiv]] からどうぞ。 -- XSS対応版添付 &ref(div.inc.php.040312); - 2004-03-12 ***コメント [#te8bab00] -[[reimy]] &new{2004-02-06 (FRI) 01:27:53}; ~MozillaとIE/Operaとで微妙に表示が異なりますね。IEやOperaでは上部がきれいに揃うけど、Mozillaでは上部が不揃いになるようです。vertical-alignを設定するとうまく揃うかも。 -[[reimy]] &new{2004-03-11 (THU) 04:34:33}; ~style指定で&color(crimson){XSSの脆弱性があり、危険です};。 --XSSのサンプル((ここでは危険性のないサンプルにしていますが、<script>タグをはじめ、あらゆるタグを挿入することが可能なため、非常に危険です。)) #div(start,width:60%"><img src="http://pukiwiki.org/pukiwiki.png" />) test #div(end) #div(clear) ~HTMLのタグが自由に書けてしまいます。&color(crimson){[[splitbody.inc.php>../splitbody.inc.php]]にも同様のXSSの脆弱性があります};。 ~func_get_args()でプラグインに渡される引数はサニタイズされていませんので、プラグインの中でサニタイズして出力しないとXSSの脆弱性が発生します。引数を出力するプラグインでは注意が必要です。 -[[morikawa]] &new{2004-03-12 (FRI) 11:49:16}; ~reimyさんありがとうございます。 // 属性チェック $a = explode(':', $attr); - if (is_array($a) && ( $allow_styles[array_shift($a)] )) return $attr; + if (is_array($a) && ( $allow_styles[array_shift($a)] )) return htmlspecialchars($attr); -- 関連。[[morikawa memo:http://www.tetsuo.morikawa.name/m/?BLOG%2F2004-03-12%2FXSS%C2%D0%BA%F6]] ** comment [#v662e00b] #comment