div.inc.php

サマリ画面分割プラグイン、DIV版
リビジョン1.1
対応バージョン1.4.2
投稿者morikawa
投稿日2004-02-05 (THU) 18:10:41

概要

../splitbody.inc.phpは table を使ってごちゃごちゃしているので、DIV版を作り直した。

左右に並べてコンテンツを表示する。だけに留まらなく、div タグ焼き直しになったかも。

  • STYLE指定がいまいちよく分からんが、とりあえず IE6/Netscape7.1で確認。どのみち、style定義できるようにしたので各自ポリシーで設定すればいいか、と。
  • 引数へCSSクラス名を指定可能に。- 2004-03-11

動作サンプル、使い方

#div(start)
右側へ表示するもの
#div(end)
左側へ表示するモノ
#div(clear)
表示が、
左側へ表示するモノ 右側へ表示するもの
という感じ。入れ子も出来るので、3つでも4つでも出来るとは思う。

download

メンテ都合上、最新は morikawaのサイト からどうぞ。

コメント

  • reimy 2004-02-06 (FRI) 01:27:53

    MozillaとIE/Operaとで微妙に表示が異なりますね。IEやOperaでは上部がきれいに揃うけど、Mozillaでは上部が不揃いになるようです。vertical-alignを設定するとうまく揃うかも。

  • reimy 2004-03-11 (THU) 04:34:33

    style指定でXSSの脆弱性があり、危険です

    • XSSのサンプル*1
      #div(start,width:60%"><img src="http://pukiwiki.sourceforge.jp/image/pukiwiki.png" />)
      test
      #div(end)
      #div(clear)

      HTMLのタグが自由に書けてしまいます。splitbody.inc.phpにも同様のXSSの脆弱性があります

      func_get_args()でプラグインに渡される引数はサニタイズされていませんので、プラグインの中でサニタイズして出力しないとXSSの脆弱性が発生します。引数を出力するプラグインでは注意が必要です。

  • morikawa 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);

comment

  • このプラグインって、現在の人のものの捉え方から逆さまなんですね。右から読む人っていますかね?素直に実装するんなら、(start)左に表示するもの。となるんだろうと思いますけどね。 -- upk 2004-08-28 (土) 13:32:42
  • 私も同感です。今でもよく間違います :( -- teanan 2004-08-28 (土) 14:48:31
  • あと、「*」を使った場合、右の場合は、右半分に表示されますが、左の場合は、ずらーーっと右の部分まで表示されちゃいますね。(僕の環境だけかな?)(Windows2000Server IIS5 / Cliant WindowsXP IE6) -- ゴン太 2004-08-28 (土) 18:40:03
  • ただタグを挿入しているだけなので
    -test
    #div(start)
    のようにすると XHTML Invalid になりますよね?たぶん。skin で div float レイアウトを使用しているサイトの場合 #div(clear) でブラウザによって挙動が変わると思うし。難しいプラグインではあると思います。 -- kak 2004-08-28 (土) 23:54:06
  • dev:PukiWiki/1.4/自作プラグイン/画面分割プラグインから来ました。download先が「サーバーが見つかりません」と表示されてます。メンテ中でしょうか? -- 2006-02-13 (月) 19:55:37
  • これ左右を逆に出来ないんでしょうか?どうも直感的に使いにくいです。 -- ごまどれ? 2006-04-21 (金) 08:59:58
    • PLUGIN_DIV_DEFAULT_STYLEのところをfloat:leftにしてあげると左右逆になるよ。 -- マスタング 2006-06-29 (木) 21:15:56
  • 「morikawaのサイト」につながらないです -- がこ? 2006-09-11 (月) 11:57:58
  • 4分割ができません。右半分は分割されますが,左半分の分割がされません -- hate? 2011-05-14 (日) 8:25:58
    サンプル
    #div(start)
    #div(start)
    **right
    #div(end)
    **left
    #div(end)
    #div(start)
    **a
    #div(end)
    **b

*1 ここでは危険性のないサンプルにしていますが、<script>タグをはじめ、あらゆるタグを挿入することが可能なため、非常に危険です。
*2 しかし今度は#contentsに表示されなくなります

添付ファイル: filediv.inc.php.040312 4025件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-05-14 (土) 08:27:11
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.271 sec.

OSDN