فهرست منبع

为规则设计器提交内容添加编码保护,以防在某些添加了xss过滤的项目中无法正确保存的问题出现

youseries 8 سال پیش
والد
کامیت
d270204353
31فایلهای تغییر یافته به همراه22 افزوده شده و 3 حذف شده
  1. 1 0
      urule-console-js/src/action/action.js
  2. 1 0
      urule-console-js/src/client/action.js
  3. 1 0
      urule-console-js/src/constant/action.js
  4. 2 1
      urule-console-js/src/editor/decisiontable/DecisionTable.js
  5. 1 0
      urule-console-js/src/editor/decisiontree/DecisionTree.js
  6. 2 1
      urule-console-js/src/editor/scriptdecisiontable/ScriptDecisionTable.js
  7. 1 0
      urule-console-js/src/editor/urule/RuleFactory.js
  8. 1 0
      urule-console-js/src/flow/RuleFlowDesigner.js
  9. 1 0
      urule-console-js/src/frame/action.js
  10. 1 0
      urule-console-js/src/package/action.js
  11. 1 0
      urule-console-js/src/parameter/action.js
  12. 1 0
      urule-console-js/src/permission/action.js
  13. 2 1
      urule-console-js/src/scorecard/index.jsx
  14. 1 0
      urule-console-js/src/variable/action.js
  15. 1 0
      urule-console/src/main/java/com/bstek/urule/console/servlet/client/ClientConfigServletHandler.java
  16. 1 0
      urule-console/src/main/java/com/bstek/urule/console/servlet/common/CommonServletHandler.java
  17. 2 0
      urule-console/src/main/java/com/bstek/urule/console/servlet/permission/PermissionConfigServletHandler.java
  18. 1 0
      urule-console/src/main/java/com/bstek/urule/console/servlet/respackage/PackageServletHandler.java
  19. 0 0
      urule-console/src/main/resources/urule-asserts/js/actionEditor.bundle.js
  20. 0 0
      urule-console/src/main/resources/urule-asserts/js/clientConfigEditor.bundle.js
  21. 0 0
      urule-console/src/main/resources/urule-asserts/js/constantEditor.bundle.js
  22. 0 0
      urule-console/src/main/resources/urule-asserts/js/decisionTableEditor.bundle.js
  23. 0 0
      urule-console/src/main/resources/urule-asserts/js/flowDesigner.bundle.js
  24. 0 0
      urule-console/src/main/resources/urule-asserts/js/frame.bundle.js
  25. 0 0
      urule-console/src/main/resources/urule-asserts/js/packageEditor.bundle.js
  26. 0 0
      urule-console/src/main/resources/urule-asserts/js/parameterEditor.bundle.js
  27. 0 0
      urule-console/src/main/resources/urule-asserts/js/permissionConfigEditor.bundle.js
  28. 0 0
      urule-console/src/main/resources/urule-asserts/js/ruleSetEditor.bundle.js
  29. 0 0
      urule-console/src/main/resources/urule-asserts/js/scoreCardTable.bundle.js
  30. 0 0
      urule-console/src/main/resources/urule-asserts/js/scriptDecisionTableEditor.bundle.js
  31. 0 0
      urule-console/src/main/resources/urule-asserts/js/variableEditor.bundle.js

+ 1 - 0
urule-console-js/src/action/action.js

@@ -78,6 +78,7 @@ export function saveData(data,newVersion,file) {
         return;
     }
     xml+='</action-library>';
+    xml=encodeURI(xml);
     let postData={content:xml,file,newVersion};
     const url=window._server+'/common/saveFile';
     if(newVersion){

+ 1 - 0
urule-console-js/src/client/action.js

@@ -41,6 +41,7 @@ export function save(data,project) {
         return;
     }
     xml+="</client-config>";
+    xml=encodeURI(xml);
     $.ajax({
         url:window._server+'/clientconfig/save',
         type:'POST',

+ 1 - 0
urule-console-js/src/constant/action.js

@@ -58,6 +58,7 @@ export function saveData(data,newVersion,file) {
         return;
     }
     xml+='</constant-library>';
+    xml=encodeURI(xml);
     let postData={content:xml,file,newVersion};
     const url=window._server+'/common/saveFile';
     if(newVersion){

+ 2 - 1
urule-console-js/src/editor/decisiontable/DecisionTable.js

@@ -183,7 +183,8 @@ window._setDirty=function(){
 			if($("#saveButton").hasClass("disabled")){
 				return false;
 			}
-			const file=getParameter('file'),xml=self.toXml();
+			let file=getParameter('file'),xml=self.toXml();
+            xml=encodeURI(xml);
 			let postData={content:xml,file,newVersion};
 			const url=window._server+'/common/saveFile';
 			if(newVersion){

+ 1 - 0
urule-console-js/src/editor/decisiontree/DecisionTree.js

@@ -106,6 +106,7 @@ DecisionTree.prototype.initToolbar=function(){
             return;
         }
         xml+="</decision-tree>";
+        xml=encodeURI(xml);
         var url=(uruleServer || "" )+"urule?action=savexml&file="+file+"";
         var dialog=$("<div style='width:100px;height:50px'>文件保存中...</div>");
         $.ajax({

+ 2 - 1
urule-console-js/src/editor/scriptdecisiontable/ScriptDecisionTable.js

@@ -143,7 +143,8 @@ window._setDirty=function(){
 			if(newVersion){
 				versionComment=prompt("请输入新版本描述.");
 			}
-			const file=getParameter('file'),xml=self.toXml();
+			let file=getParameter('file'),xml=self.toXml();
+            xml=encodeURI(xml);
 			let postData={content:xml,file,newVersion};
 			const url=window._server+'/common/saveFile';
 			if(newVersion){

+ 1 - 0
urule-console-js/src/editor/urule/RuleFactory.js

@@ -143,6 +143,7 @@ import {MsgBox} from 'flowdesigner';
 				return;
 			}
 			xml+="</rule-set>";
+            xml=encodeURI(xml);
 			let postData={content:xml,file,newVersion};
 			const url=window._server+'/common/saveFile';
 			if(newVersion){

+ 1 - 0
urule-console-js/src/flow/RuleFlowDesigner.js

@@ -59,6 +59,7 @@ export default class RuleFlowDesigner extends FlowDesigner{
             xml+=figure.toXML();
         }
         xml+='</rule-flow>';
+        xml=encodeURI(xml);
         return xml;
     }
 

+ 1 - 0
urule-console-js/src/frame/action.js

@@ -998,6 +998,7 @@ export function unlockFile(file,dispatch){
 };
 
 export function saveFileSource(file,content){
+    content=encodeURI(content);
     var url=window._server+"/common/saveFile";
     $.ajax({
         url,

+ 1 - 0
urule-console-js/src/package/action.js

@@ -70,6 +70,7 @@ export function saveData(data,newVersion,project) {
         xml+='</res-package>';
     });
     xml+='</res-packages>';
+    xml=encodeURI(xml);
     $.ajax({
         url:window._server+'/packageeditor/saveResourcePackages',
         type:'POST',

+ 1 - 0
urule-console-js/src/parameter/action.js

@@ -56,6 +56,7 @@ export function saveData(data,newVersion,file){
         return;
     }
     xml+='</parameter-library>';
+    xml=encodeURI(xml);
     let postData={content:xml,file,newVersion};
     const url=window._server+'/common/saveFile';
     if(newVersion){

+ 1 - 0
urule-console-js/src/permission/action.js

@@ -53,6 +53,7 @@ export function save(data) {
         xml+="</user-permission>";
     }
     xml+="</user-permission>";
+    xml=encodeURI(xml);
     const url=window._server+"/permission/saveResourceSecurityConfigs";
     $.ajax({
         url,

+ 2 - 1
urule-console-js/src/scorecard/index.jsx

@@ -149,7 +149,8 @@ $(document).ready(function (e) {
 
     function save(newVersion) {
         try{
-            const content=cardTable.toXml();
+            let content=cardTable.toXml();
+            content=encodeURI(content);
             const url=window._server+"/common/saveFile";
             if(newVersion){
                 bootbox.prompt("请输入新版本描述.",function (versionComment) {

+ 1 - 0
urule-console-js/src/variable/action.js

@@ -61,6 +61,7 @@ export function saveData(data,newVersion,file) {
         return;
     }
     xml+='</variable-library>';
+    xml=encodeURI(xml);
     let postData={content:xml,file,newVersion};
     const url=window._server+'/common/saveFile';
     if(newVersion){

+ 1 - 0
urule-console/src/main/java/com/bstek/urule/console/servlet/client/ClientConfigServletHandler.java

@@ -66,6 +66,7 @@ public class ClientConfigServletHandler extends RenderPageServletHandler{
 		project=Utils.decodeURL(project);
 		String file=project+"/"+RepositoryServiceImpl.CLIENT_CONFIG_FILE;
 		String content=req.getParameter("content");
+		content=Utils.decodeURL(content);
 		User user=EnvironmentUtils.getLoginUser(new RequestContext(req, resp));
 		try{
 			repositoryService.saveFile(file, content, false,null,user);			

+ 1 - 0
urule-console/src/main/java/com/bstek/urule/console/servlet/common/CommonServletHandler.java

@@ -84,6 +84,7 @@ public class CommonServletHandler extends RenderPageServletHandler{
 	public void saveFile(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
 		String file=req.getParameter("file");
 		String content=req.getParameter("content");
+		content=Utils.decodeURL(content);
 		String versionComment=req.getParameter("versionComment");
 		Boolean newVersion = Boolean.valueOf(req.getParameter("newVersion"));
 		User user=EnvironmentUtils.getLoginUser(new RequestContext(req, resp));

+ 2 - 0
urule-console/src/main/java/com/bstek/urule/console/servlet/permission/PermissionConfigServletHandler.java

@@ -28,6 +28,7 @@ import org.apache.velocity.Template;
 import org.apache.velocity.VelocityContext;
 
 import com.bstek.urule.RuleException;
+import com.bstek.urule.Utils;
 import com.bstek.urule.console.EnvironmentUtils;
 import com.bstek.urule.console.User;
 import com.bstek.urule.console.exception.NoPermissionException;
@@ -138,6 +139,7 @@ public class PermissionConfigServletHandler extends RenderPageServletHandler{
 		User user=EnvironmentUtils.getLoginUser(new RequestContext(req, resp));
 		String companyId=user.getCompanyId();
 		String content=req.getParameter("content");
+		content=Utils.decodeURL(content);
 		String path=RepositoryServiceImpl.RESOURCE_SECURITY_CONFIG_FILE+(companyId==null ? "" : companyId);
 		try{
 			repositoryService.saveFile(path, content, false,null,user);

+ 1 - 0
urule-console/src/main/java/com/bstek/urule/console/servlet/respackage/PackageServletHandler.java

@@ -420,6 +420,7 @@ public class PackageServletHandler extends RenderPageServletHandler {
 		project=Utils.decodeURL(project);
 		String path=project+"/"+RepositoryServiceImpl.RES_PACKGE_FILE;
 		String xml=req.getParameter("xml");
+		xml=Utils.decodeURL(xml);
 		User user=EnvironmentUtils.getLoginUser(new RequestContext(req,resp));
 		repositoryService.saveFile(path, xml, false,null,user);
 	}

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
urule-console/src/main/resources/urule-asserts/js/actionEditor.bundle.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
urule-console/src/main/resources/urule-asserts/js/clientConfigEditor.bundle.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
urule-console/src/main/resources/urule-asserts/js/constantEditor.bundle.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
urule-console/src/main/resources/urule-asserts/js/decisionTableEditor.bundle.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
urule-console/src/main/resources/urule-asserts/js/flowDesigner.bundle.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
urule-console/src/main/resources/urule-asserts/js/frame.bundle.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
urule-console/src/main/resources/urule-asserts/js/packageEditor.bundle.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
urule-console/src/main/resources/urule-asserts/js/parameterEditor.bundle.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
urule-console/src/main/resources/urule-asserts/js/permissionConfigEditor.bundle.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
urule-console/src/main/resources/urule-asserts/js/ruleSetEditor.bundle.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
urule-console/src/main/resources/urule-asserts/js/scoreCardTable.bundle.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
urule-console/src/main/resources/urule-asserts/js/scriptDecisionTableEditor.bundle.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
urule-console/src/main/resources/urule-asserts/js/variableEditor.bundle.js


برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است