概要: Webエンジン Ver 5.0.0.2 (2009/09/15) をリリースいたします。 今回のリリースのおける変更点は、主に以下の通りです。 @セキュリティ機能強化 セキュリティ診断結果に基づき、XSSの強化及びエラーメッセージ表示制御の対応を行っています。 A配布パッケージの変更 devパッケージからappsフォルダ(JDK,Tomcat,OpenOffice)を分離します。 appsフォルダは、別途appsパッケージとして配布します。 BJDK,Tomcatのバージョンアップ Windows標準環境をJDK1.6update16、Tomcat6.0.20にバージョンアップします。 (openGion_apps_win32_5.1.zip) C画面上で、簡易的な画面を作成できる機能(自動画面作成機能)をサンプルとして追加します。 画面は、GFシステムの[画面自動作成]のカテゴリより確認することができます。 ※ バージョンアップされる場合は、ビルドファイル(verup.x.x.x.x.zip)に含まれるchanges.txtを確認の上、 作業をお願いします。 ※ 変更点に関する詳細及びその他の修正内容については、添付のリリースノートを参照下さい。 5.0.0.2 (2009/09/15) [セキュリティ対応:エラーメッセージ制御・カスタマイズエラー画面作成] Tomcat及びJSPのエラーが発生した際に出力される情報を減らす事で セキュリティ上のリスクを軽減します。 スタックトレース情報及びバージョンの情報が出力されなくなります。 tomcatのconf/web.xml内を置き換えて下さい。 (ログは今まで通り出力されます。) tomcat/conf/web.xml error-page修正 context/jsp/common/error.jsp hayabusa/taglib/ErrorTag#VIEW_MSGTYPE hayabusa/taglib/ErrorTag#doEndTag() hayabusa/taglib/ErrorTag#getStackTrace( Throwable, String ) hayabusa/taglib/ErrorTag#getStackData( StringBuilder, Throwable, String ) [リクエスト変数のXSS対策] {@xxx}で変換するリクエストパラメータに対してless/greater than sign(<,>)のチェックを 行うようにします。 チェックを行うかどうかはシステムパラメータのUSE_XSS_CHECKで設定します。(初期値true) 但し、一部タグではこのチェックをかけないようにしています。 SQL文で利用する可能性のあるQuery,QueryOption,And,Updateタグに関しては xssCheck属性で個別に設定可能です。 XSSチェックの利用に際しては全画面に対して動作確認をして下さい。 hybs-taglib.tld hayabusa/common/SystemData#USE_XSS_CHECK hayabusa/taglib/CommonTagSupport#release2() hayabusa/taglib/CommonTagSupport#getRequestValue( String ) hayabusa/taglib/CommonTagSupport#getRequestValue( String, boolean ) hayabusa/taglib/CommonTagSupport#useXssCheck( boolean ) hayabusa/taglib/QueryOptionTag#doAfterBody() hayabusa/taglib/QueryOptionTag#release2() hayabusa/taglib/QueryOptionTag#setXssCheck( String ) hayabusa/taglib/Querytag#doAfterBody() hayabusa/taglib/Querytag#release2() hayabusa/taglib/Querytag#setXssCheck( String ) hayabusa/taglib/SqlAndTag#doStartTag() hayabusa/taglib/SqlAndTag#release2() hayabusa/taglib/SqlAndTag#setXssCheck( String ) hayabusa/taglib/EntryTag#setRequestValues() ALLをチェック対象から外す hayabusa/taglib/FavoritelinkTag#doStartTag() XSSチェックをかけない hayabusa/taglib/ColumnCheckTag#doStartTag() XSSチェックをかけない hayabusa/taglib/FrameTag#doStartTag() XSSチェックをかけない hayabusa/taglib/CommonForwardTag#doEndTag() XSSチェックをかけない [メッセージのサニタイジング処理廃止] XSSチェックを導入したため、導入したメッセージ引数の HTMLサニタイジング処理を廃止します。 又、columnCheckタグでxssチェックをしない箇所をユーザが実際に 入力したリクエストパラメータに限定します。 その他タグで無条件許可していたものも変更します。 hayabusa/resource/LabelData#getMessage(String[]) サニタイジング処理廃止 hayabusa/resource/LabelData#getDescription(String[]) サニタイジング処理廃止 hayabusa/taglib/ColumnCheckTag#doStartTag() hayabusa/taglib/ColumnCheckTag#makeErrorMessage( ErrorMessage ) hayabusa/taglib/ColumnCheckTag#makeEntryErrorMessage( ErrorMessage ) hayabusa/taglib/FavoritelinkTag#doStartTag() hayabusa/taglib/FavoritelinkTag#makeUrlEncode( HttpServletRequest ) hayabusa/taglib/FrameTag#doStartTag() hayabusa/taglib/CommonForwardTag#doEndTag() [DB定義システム・不具合修正] DB定義書の取込機能がHSQLDBで正しく動作しない問題について対応します。 gf/jsp/GF2060/dbdefIn.jsp [自動インストール機能不具合修正] 拡張子がxmlファイル以外のファイルは読み込まないように修正します。 (subversionにアップした際、各フォルダに.svnが作成され、これも読み込もうとしていた) org.opengion.hayabusa.common.SystemInstaller#loadXMLScript(String,String) [ViewFormの修正] viewタグ内で[KEY.xxx]や[I]の形式が利用できなかったHTMLFormatTextFieldを、 利用できるように修正します。 plugin/view/ViewForm_HTMLFormatTextField#create( int, int ) [ボタンメニューの修正] ボタンメニューのボタン間隔を狭くして、ボタンが多く入るようにします。 jsp/common/default.css .buttonMenu変更 [リソースXML抜き出し画面修正] リソースXML抜き出し画面で作成区分の条件に'<','>'を指定した場合にxssCheckで エラーになるバグを修正します。 jsp/GE0009/result_resource.jsp --------------------------------------------------------------------------- [配布パッケージの変更] devパッケージから、appsフォルダを分離します。 appsフォルダは、環境毎(現状は、win32とlinux32のみ)に用意し、配布します。 [Calc帳票LINE_COPY機能] Calc帳票で{@LINECOPY}と記述する事で、その行以降データが存在しなくなるまで 該当行と同じレイアウトでBODY部分を出力し続けます。 ヘッダ・フッタ処理は通常通り行われますが、LINECOPY行以降のオブジェクトが ずれるため、下部にオブジェクトを配置するような帳票では利用できません。 hayabusa/report2/OdsContentParser#LINE_COPY hayabusa/report2/OdsContentParser#execContent() hayabusa/report2/OdsContentParser$OOoCalcSheet#incrementKey( String, int ) hayabusa/report2/OdsContentParser$OOoCalcSheet#analyze( String, int ) hayabusa/report2/OdsContentParser$OOoCalcSheet#lineCopy( String, int ) jsp/GF2020/DBDEF.ods LINE_COPY版に変更 [andタグのmulti機能修正] mis:andタグでmulti属性をtrueにすると'A','B'という形式で出力されますが、 空文字のみで送信した場合に'',''のように出力されていました。 複数のリクエストが全てnullか空文字の場合は{@xxx}がnullという扱いとし、 通常のnull値の場合と同様にand句そのものを出力しないようにします。 hayabusa/taglib/SqlAndTag#getRequestValue( String ) hayabusa/taglib/SqlAndTag#release2() hayabusa/taglib/SqlAndTag#doEndTag() [JDK,Tomcatのバージョンアップ] Windows標準環境をJDK1.6update16、Tomcat6.0.20にバージョンアップします。 (Linux版については、まだリリースされていません) openGion_apps_win32_5.1.zip [新規クラス Process_StringUtil 作成] ・StringUtilクラスの特定のメソッドでデータ変換する、Process_StringUtil クラスを新規追加します。 現時点で利用できるStringUtil のメソッドは、下記の通りです。 urlEncode : UTF-8 で、URLエンコードを行う。 rTrim : 文字列の後ろのスペースを削除 htmlFilter : HTML上のエスケープ文字を変換 getMD5 : MessageDigestにより、MD5 でハッシュした文字に変換 code39 : CODE39 の 文字列を作成(チェックデジット付き) getUnicodeEscape : HTML のエスケープ記号(&#xZZZZ;)に変換 getReplaceEscape : HTML のエスケープ記号(&#xZZZZ;)を戻す spanCut : 引数からspanタグを取り除く ・このクラスの追加に伴い、Process_UnicodeEscape.java をdeprecatedにします。 類似機能に、Process_StringUtil を利用してください。 -action 引数に、getUnicodeEscape か、getReplaceEscape を指定することで、 ESCAPE(変換)/REVERSE(戻し) の指定と同一の処理を行います。 fukurou/process/Process_StringUtil 新規追加 fukurou/process/Process_UnicodeEscape deprecated コメント追記 [整合性チェック(種別間) 修正] GF2090 整合性チェック(種別間) を修正しましたので、更新願います。 更新処理を、update.jsp , entry.jsp 形式に変更・複写機能、削除機能を追加(削除機能のみあった) ・使用フラグが無効だったので、削除、JSPフォルダを差し替えてください。 [画面自動作成機能追加] 画面自動作成を行うサンプル機能を追加します。 gf/jsp/GF2200 gf/jsp/GF2201 gf/jsp/GF2202 gf/jsp/GF2203 gf/jsp/GF2251 gf/jsp/GF2252 gf/jsp/GF2253 GE90 テーブル追加 GE91 テーブル追加 GE92 テーブル追加 GE93 テーブル追加 GE94 テーブル追加 GE95 テーブル追加 GE96 テーブル追加