**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] -このプラグインって、現在の人のものの捉え方から逆さまなんですね。右から読む人っていますかね?素直に実装するんなら、(start)左に表示するもの。となるんだろうと思いますけどね。 -- [[upk]] &new{2004-08-28 (土) 13:32:42}; -私も同感です。今でもよく間違います :( -- [[teanan]] &new{2004-08-28 (土) 14:48:31}; -あと、「*」を使った場合、右の場合は、右半分に表示されますが、左の場合は、ずらーーっと右の部分まで表示されちゃいますね。(僕の環境だけかな?)(Windows2000Server IIS5 / Cliant WindowsXP IE6) -- [[ゴン太]] &new{2004-08-28 (土) 18:40:03}; -ただタグを挿入しているだけなので -test #div(start) のようにすると XHTML Invalid になりますよね?たぶん。skin で div float レイアウトを使用しているサイトの場合 #div(clear) でブラウザによって挙動が変わると思うし。難しいプラグインではあると思います。 -- [[kak]] &new{2004-08-28 (土) 23:54:06}; #comment