MySQLを使ったPHPスクリプト 配布コーナー

[サイトトップ] [コーナートップ]
MySQLを使ったPHPスクリプトを配布しています。(フリースクリプトやシェアスクリプトを配布)

■MySQLを使ったツール
 参照onlyのテーブル検索/表示ツール mysql-lists [up! 2008/11/21]

 
 


  mysql-lists ver1.5 (2008/11/20現在)
  MySQLテーブル参照専用汎用ツール

ソート項目指定時のバグを修正しました。

[目的] 
 MySQLを使ったシステムを作成した際、データベース・テーブルを操作するツールとして phpMyAdmin などが有名ですが、 「余計なテーブルを表示させない」「余計な処理をさせない」を前提に、一部のテーブルだけを別の利用者に表示したいとか、 リストをダウンロードさせたいなどのケースは多々ある話です。
また、そのような場合、多くのテーブルが対象になるにもかかわらず、低予算(または予算が無い)という難題を抱えている場合が多いです。
そこで、これを解決するために汎用性の高い専用ツール(スクリプト)を開発しました。

このスクリプトを設置/設定するだけで、
 ・検索条件設定
 ・リスト表示 (ページ処理/項目名クリックソート)
 ・エクスポート (CSVファイルのダウンロード,コード変換など可)
ができるようになります。
設定ファイルにより、
 ・テーブルの項目名とリスト表示とを変更
 ・寄せ指定(left,align,center)
ができるようになります。
また、HTMLテンプレート方式なので、オリジナルデザインも可能です。
意外に「便利かも!」と感じると思います。

あえてCSSやJava-Scriptを使用せず、シンプルで軽いスクリプトしていますので、簡単に導入できると思います。

まずは、サンプルページをご覧下さい。

[スクリーンショット]

検索条件設定
リスト表示
エクスポート

[使用/テスト環境]

 Apache2.2+PHP5+MySQL5でテストしています。

 他環境で動作確認された場合、お知らせ頂ければ、掲載させて頂きます。
 PHPの SESSION を使用します。

 各スクリプト/テンプレートHTMLファイルは、全てUTF-8で作成されています。

[対象者]
 システム開発者/HP構築業者様等
 エンドユーザー側のシステム担当様者
 システムリース/レンタル業者様
 など

[費用]
 非商用/商用に関わらず、ご利用は基本的に無料ですが、リンクや著作権は消さないで下さい。

 リンクや著作権を消してご利用になりたい場合、
 インターネットに接続されていない社内ネットワークでのご利用の場合、
   有料となります。別途、お問合せください。

 カスタマイズを有料にて承っております。別途お問合せください。

[使用・配布条件等の注意事項]
 ・当スクリプトによって何らかの不利益、損害が生じても作者は一切の責任を負いかねます。
 ・当スクリプトの著作権は放棄していません。著作権表示は消さないで下さい。
  デザイン上消したい場合は当サイトへのリンクをお願いします。
 ・利用の都合上、どうしても外部リンクが不可能の場合、別ページでリンクを貼ってください。
 ・改造、再配布は自由にどうぞ。
  ただし配布する場合は、
   AquaSunネットサービス(http://aqua.sun.ddns.vc/)が開発元であることを明記してください。
 ・商用ページでの利用は基本的に無料ですが、リンクや著作権は消さないで下さい。
  リンクや著作権を消してご利用になりたい場合、有料となります。お問合せください。

[設定方法]
 (1) ここよりダウンロード (mysql_lists_1_5.zip - 約16Kbyte)してください。
 (2) ディレクトリ付で展開し、サーバにアップロードしてください。
   必要に応じて、ディレクトリに認証設定などを行うと良いと思います。
 (3) sets/setup.inc.php ファイルがありますので、サーバ環境/テーブル環境に合わせ修正します。
 (4) templates ディレクトリに、
    表示するページがhtmlタグで定義されていますので、必要に応じ修正してください。
    現在以下のように定義されています。

      ・ リスト表示テンプレート
        ページ全体 = body_lst.html
          <!PAGE_INF> = ページ情報部のタグが挿入される箇所。
          <!PAGE_SEL> = ページ処理部のタグが挿入される箇所。
          <!COLUMN_HEAD!> = 表のヘッダ部のタグが挿入される箇所。
          <!COLUMN_ROW!> = 表のデータ部のタグが挿入される箇所。
        表のヘッダ部 繰り返し箇所 = list_h1.html
          <!HEAD_NAME!> = 表のヘッダの項目名。
          このタグの組合せで、<!COLUMN_HEAD!>が構成されます。
        表のデータ部 繰り返し箇所 = list_d1.html
          <!COL_ALIGN!> = 表のデータの寄せ。
          <!COL_DATA!> = 表のデータの内容。
          このタグの組合せで、<!COLUMN_ROW!>が構成されます。

      ・ 検索条件表示テンプレート
        ページ全体 = body_sch.html

      ・ エクスポート表示テンプレート
        ページ全体 = body_exp.html

     以下のタグは必要なタグです。
              「<!TABLE_NAME!>」 = setup.inc の $mysql_table_nm で定義された内容で置換されます。
              「--SELF_SCRIPT--?MD=SCH
              「--SELF_SCRIPT--?MD=LST
              「--SELF_SCRIPT--?MD=EXP
 (5) 各ファイルディレクトリに、WEBユーザー参照権限を与えてください。

[前バージョン(ver1.4)からのバージョンアップ方法]
 (1) index.phpファイルを置き換えてください。(これだけです)



2008/8/21 に見つかったクロスサイト・スクリプティング問題について (JPCERT/CCからの報告 - VN: IPA#27417220 / TN: JPCERT#94374613)

a-1. 再現環境
以下の環境で再現を確認しました。

サーバ
----------------
OS:
Vine Linux 4.2 (Lynch Bages)
対象ソフトウェア:
mysql_lists 1.1
関連ソフトウェア:
Apache 2.2.3
PHP 5.2.6
MySQL 5.0.27
IP アドレス:
nnn.nnn.nnn.nnn

設定:
mysql-lists
http://aqua.sun.ddns.vc/free/php_script/mysql.html#mysql-lists
上記 URL を参考に、対象ソフトウェアを下記 URL 配下に設置し、あらかじめ商品情報を登録しておく。
http://nnn.nnn.nnn.nnn/mysql_lists/
----------------

クライアント
----------------
OS:
Microsoft Windows XP Professional SP2
ウェブブラウザ:
Windows Internet Explorer 7
Mozilla Firefox 2.0.0.15
Opera 9.51
----------------


a-2.~1-3. 再現手順

(非公開とさせて頂きます)

以上、対象ソフトウェアにおいて、クロスサイト・スクリプティングの問題を確認しました。


b. コメント
全てのブラウザでスクリプトが実行されました。
再現手順1,2共に、スクリプトが実行されたあと、下記エラーが発生しました。ソースを確認すると、SQLエラーに再現手順で入力したスクリプトが含まれていました。
-------------------------------------------------------
クエリが実行できませんでした (1064)
[You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to usenear '" ASC limit 0,10' at line 1]
-------------------------------------------------------

また、届出にあった下記の内容ではスクリプトは実行されませんでした。
-------------------------------------------------------
"><script>alert(/xss/)</script>
-------------------------------------------------------

以上。

謝辞 ---

脆弱性情報は、情報セキュリティ早期警戒パートナーシップに基づき下記の方が IPA に報告し、JPCERT/CC がベンダとの調整を行いました。
報告者: 植木 修也 氏
脆弱性を発見された方、ご協力いただいたJPCERT/CC の方々に感謝申し上げます。

[配布全スクリプトの共通免責事項]
 当コンテンツのスクリプトの使用において、貴殿が如何なる損害や損失を被ったとしても、当社は一切責任を負わないものとします。あくまでも自己責任においてご使用下さ い。
又、ここのスクリプトはテストをしておりますが、もしバグ等ございましたら、お知らせください。

[お問合わせはこちらから]