あけましておめでとうございます、ミスターお正月です。
私用で失礼します。
ECCUBE2.13.5の構造調査をしています。
添付ファイルの著作権はミスターお正月に帰属します。
Classフォルダ直下のファイルリスト | |||||
■ ECCUBE2.13は、(僕の知りうる限りの) 最近のシステムの主流となっている「URLをパラメータとして受け取ってメソッドを呼び出す」という構成をしていない。 ■ HTMLフォルダ内にあるPHPをトリガーとして、外部から直接アクセスさせる ↓ DATA/class_extends/pages内に配置された対応したファイルを呼び出す。 (DATAフォルダは外部から隠蔽されている) という構成をしている ■そのため、HTMLフォルダとDATA/class_extends/pagesは対応したディレクトリ構成をしている。 ■言い換えると、HTMLフォルダの各ファイルは、機能と分離可能かもしれない →ページ単位で外部からアクセスされたくない機能があるなら、 HTMLフォルダ内のファイルを隠蔽・削除・リネームすればいい →管理画面などは、独立したURLに移すこともできそう(その方が安全性が高いのでは?) |
|||||
■ ECCUBE2.13はMVCが分離されてるとはいい難いため、 どこでデータベース接続がされているか確認が必要である。 ■データベースへの接続はSC_Query.php にて定義されている。 ■データベースへの全ての接続は、インストール段階の手順を除き、 同クラスを継承したSC_Query_Ex.phpによって完全にラップされていることを確認した。 ■すなわちSC_Query_Exをインスタンス化している箇所があれば、そこでデータベース接続が行われている。 ■ SC_Query_Exが使われている場所(データベースと接続する箇所)は、デフォルトでは以下の場所に限定されている。 プラグインやモジュールによる追加機能の影響は、今回の調査には含まれていない。 1、DATA/class以下のファイル群 2、HTML/admin/load_module_config.php 3、DATA/class_extends/SC_Query_Ex.php |
|||||
ダウンロード機能 | |||||
ECCUBE2.13のダウンロード機能は概ね良好である。 確かにセキュリティがガバガバであるが、この機能は捨て置けない。 |
|||||
Classフォルダ直下のファイル | |||||
SC_AdminView.php | SC_AdminView_Ex.php | ||||
SC_Batch.php | SC_Batch_Ex.php | ||||
SC_Cache.php | SC_Cache_Ex.php | ||||
SC_CartSession.php | SC_CartSession_Ex.php | ||||
SC_CheckError.php | SC_CheckError_Ex.php | ||||
SC_ClassAutoloader.php | SC_ClassAutoloader_Ex.php | ||||
SC_Cookie.php | SC_Cookie_Ex.php | ||||
SC_Customer.php | SC_CustomerList_Ex.php | ||||
SC_Queryが使われている | SC_CustomerList.php | SC_Customer_Ex.php | |||
SC_Date.php | SC_Date_Ex.php | ||||
SC_Display.php | SC_Display_Ex.php | ||||
SC_FormParam.php | SC_FormParam_Ex.php | ||||
SC_Fpdf.php | SC_Fpdf_Ex.php | ||||
SC_Image.php | SC_Image_Ex.php | ||||
SC_Initial.php | SC_Initial_Ex.php | ||||
SC_InstallView.php | SC_InstallView_Ex.php | ||||
SC_MobileEmoji.php | SC_MobileEmoji_Ex.php | ||||
SC_MobileImage.php | SC_MobileImage_Ex.php | ||||
SC_MobileUserAgent.php | SC_MobileUserAgent_Ex.php | ||||
SC_MobileView.php | SC_MobileView_Ex.php | ||||
SC_PageNavi.php | SC_PageNavi_Ex.php | ||||
SC_Queryが使われている | SC_Product.php | SC_Product_Ex.php | |||
SC_Query.php | SC_Query_Ex.php | SQLを実行するクラス | |||
SC_Response.php | SC_Response_Ex.php | ||||
SC_SelectSql.php | SC_SelectSql_Ex.php | ||||
SC_SendMail.php | SC_SendMail_Ex.php | ||||
SC_Session.php | SC_SessionFactory_Ex.php | ||||
SC_SessionFactory.php | SC_Session_Ex.php | ||||
SC_SiteSession.php | SC_SiteSession_Ex.php | ||||
SC_SiteView.php | SC_SiteView_Ex.php | ||||
SC_SmartphoneUserAgent.php | SC_SmartphoneUserAgent_Ex.php | ||||
SC_SmartphoneView.php | SC_SmartphoneView_Ex.php | ||||
SC_UploadFile.php | SC_UploadFile_Ex.php | ||||
SC_View.php | SC_View_Ex.php | ||||
ヘルパーフォルダ | |||||
SC_Queryが使われている | SC_Helper_Address.php | SC_Helper_Address_Ex.php | 会員の登録配送先を管理するヘルパークラス | ||
SC_Queryが使われている | SC_Helper_BestProducts.php | SC_Helper_BestProducts_Ex.php | おすすめ商品を管理するヘルパークラス | ||
SC_Queryが使われている | SC_Helper_Bloc.php | SC_Helper_Bloc_Ex.php | ブロックを管理するヘルパークラス | ||
SC_Queryが使われている | SC_Helper_Category.php | SC_Helper_Category_Ex.php | カテゴリーを管理するヘルパークラス | ||
SC_Queryが使われている | SC_Helper_CSV.php | SC_Helper_CSV_Ex.php | CSV 関連 のヘルパークラス | ||
SC_Queryが使われている | SC_Helper_Customer.php | SC_Helper_Customer_Ex.php | 会員情報の登録・編集・検索ヘルパークラス | ||
SC_Queryが使われている | SC_Helper_DB.php | SC_Helper_DB_Ex.php | DB関連のヘルパークラス | ||
SC_Queryが使われている | SC_Helper_Delivery.php | SC_Helper_Delivery_Ex.php | 配送方法を管理するヘルパークラス | ||
SC_Helper_FileManager.php | SC_Helper_FileManager_Ex.php | ファイル管理 のヘルパークラス | |||
SC_Helper_FPDI.php | SC_Helper_FPDI_Ex.php | 文字コードやカラーテーブルレイアウト | |||
SC_Helper_HandleError.php | SC_Helper_HandleError_Ex.php | エラーハンドリングのクラス | |||
SC_Queryが使われている | SC_Helper_Holiday.php | SC_Helper_Holiday_Ex.php | 休日を管理するヘルパークラス | ||
SC_Queryが使われている | SC_Helper_Kiyaku.php | SC_Helper_Kiyaku_Ex.php | 会員規約を管理するヘルパークラス | ||
SC_Queryが使われている | SC_Helper_Mail.php | SC_Helper_Mailtemplate_Ex.php | メール関連 のヘルパークラス | ||
SC_Queryが使われている | SC_Helper_Mailtemplate.php | SC_Helper_Mail_Ex.php | メールテンプレートを管理するヘルパークラス | ||
SC_Queryが使われている | SC_Helper_Maker.php | SC_Helper_Maker_Ex.php | メーカーを管理するヘルパークラス | ||
SC_Queryが使われている | SC_Helper_Mobile.php | SC_Helper_Mobile_Ex.php | モバイルのヘルパークラス | ||
SC_Queryが使われている | SC_Helper_News.php | SC_Helper_News_Ex.php | ニュースを管理するヘルパークラス | ||
SC_Queryが使われている | SC_Helper_PageLayout.php | SC_Helper_PageLayout_Ex.php | Webページのレイアウト情報を制御するヘルパークラス | ||
SC_Queryが使われている | SC_Helper_Payment.php | SC_Helper_Payment_Ex.php | 支払方法を管理するヘルパークラス | ||
SC_Queryが使われている | SC_Helper_Plugin.php | SC_Helper_Plugin_Ex.php | プラグインのヘルパークラス | ||
SC_Queryが使われている | SC_Helper_Purchase.php | SC_Helper_Purchase_Ex.php | 商品購入関連のヘルパークラス | ||
SC_Queryが使われている | SC_Helper_Session.php | SC_Helper_Session_Ex.php | セッション関連のヘルパークラス | ||
SC_Queryが使われている | SC_Helper_TaxRule.php | SC_Helper_TaxRule_Ex.php | 税規約を管理するヘルパークラス | ||
SC_Queryが使われている | SC_Helper_Transform.php | SC_Helper_Transform_Ex.php | テンプレートをDOM変形するためのヘルパークラス | ||
APIフォルダ | |||||
operations\AddrFromZip.php | |||||
operations\BrowseNodeLookup.php | |||||
operations\CartAdd.php | |||||
operations\CartClear.php | |||||
operations\CartCreate.php | |||||
operations\CartGet.php | |||||
operations\CartModify.php | |||||
operations\Default.php | |||||
operations\GetVersion.php | |||||
operations\ItemLookup.php | |||||
operations\ItemSearch.php | |||||
SC_Api_Abstract.php | |||||
SC_Api_Operation.php | |||||
SC_Api_Utils.php |