[Svn-src-all:4271] [version-2_13_0 23185] #2282 2.12.6での対応内容をマージ

h_yoshimoto admin @ mail.ec-cube.net
2013年 9月 3日 (火) 21:06:01 JST


Subversion committed to /home/svn/open 23185
http://svn.ec-cube.net/open_trac/changeset/23185
┌────────────────────────────┐
│更新者 :  h_yoshimoto                                  │
│更新日時:  2013-09-03 21:06:01 +0900 (火, 03  9月 2013)│
└────────────────────────────┘

Log:
--------------------------------------------------------
#2282 2.12.6での対応内容をマージ

Changed:                      [U:修正,A:追加,D:削除]
--------------------------------------------------------
U   branches/version-2_13_0/data/class/api/SC_Api_Operation.php

変更: branches/version-2_13_0/data/class/api/SC_Api_Operation.php
===================================================================
--- branches/version-2_13_0/data/class/api/SC_Api_Operation.php	2013-09-03 11:48:36 UTC (rev 23184)
+++ branches/version-2_13_0/data/class/api/SC_Api_Operation.php	2013-09-03 12:06:01 UTC (rev 23185)
@@ -300,7 +300,7 @@
         $objFormParam->setParam($arrPost);
         $objFormParam->convParam();
 
-        $arrErr = $objFormParam->checkError();
+        $arrErr = SC_Api_Operation_Ex::checkParam($objFormParam); 
         if (SC_Utils_Ex::isBlank($arrErr)) {
             $arrParam = $objFormParam->getHashArray();
             $operation_name = $arrParam['Operation'];
@@ -418,4 +418,31 @@
                 break;
         }
     }
+    
+    /**
+     * APIのリクエスト基本パラメーターのチェック
+     *
+     * @param object $objFormParam
+     * @return array $arrErr
+     */
+    protected function checkParam($objFormParam)
+    {
+        $arrErr = $objFormParam->checkError();
+        if (!preg_match("/^[a-zA-Z0-9\-\_]+$/", $objFormParam->getValue('Operation')) && !SC_Utils::isBlank($objFormParam->getValue('Operation'))) {
+            $arrErr['ECCUBE.Operation.ParamError'] = 'Operationの値が不正です。';
+        }
+        if (!preg_match("/^[a-zA-Z0-9\-\_]+$/", $objFormParam->getValue('Service')) && !SC_Utils::isBlank($objFormParam->getValue('Service'))) {
+            $arrErr['ECCUBE.Service.ParamError'] = 'Serviceの値が不正です。';
+        }
+        if (!preg_match("/^[a-zA-Z0-9\-\_]+$/", $objFormParam->getValue('Style')) && !SC_Utils::isBlank($objFormParam->getValue('Style'))) {
+            $arrErr['ECCUBE.Style.ParamError'] = 'Styleの値が不正です。';
+        }
+        if (!preg_match("/^[a-zA-Z0-9\-\_]+$/", $objFormParam->getValue('Validate')) && !SC_Utils::isBlank($objFormParam->getValue('Validate'))) {
+            $arrErr['ECCUBE.Validate.ParamError'] = 'Validateの値が不正です。';
+        }
+        if (!preg_match("/^[a-zA-Z0-9\-\_\.]+$/", $objFormParam->getValue('Version')) && !SC_Utils::isBlank($objFormParam->getValue('Version'))) {
+            $arrErr['ECCUBE.Version.ParamError'] = 'Versionの値が不正です。';
+        }
+        return $arrErr;
+    }
 }




Svn-src-all メーリングリストの案内