Browse Source

update - URIComponent just for cookie value

MHSanaei 1 year ago
parent
commit
ffa23a43c6
1 changed files with 6 additions and 4 deletions
  1. 6 4
      web/assets/js/util/common.js

+ 6 - 4
web/assets/js/util/common.js

@@ -70,25 +70,27 @@ function debounce(fn, delay) {
 
 function getCookie(cname) {
     let name = cname + '=';
-    let decodedCookie = decodeURIComponent(document.cookie);
-    let ca = decodedCookie.split(';');
+    let ca = document.cookie.split(';');
     for (let i = 0; i < ca.length; i++) {
         let c = ca[i];
         while (c.charAt(0) == ' ') {
             c = c.substring(1);
         }
         if (c.indexOf(name) == 0) {
-            return c.substring(name.length, c.length);
+            // decode cookie value only
+            return decodeURIComponent(c.substring(name.length, c.length));
         }
     }
     return '';
 }
 
+
 function setCookie(cname, cvalue, exdays) {
     const d = new Date();
     d.setTime(d.getTime() + exdays * 24 * 60 * 60 * 1000);
     let expires = 'expires=' + d.toUTCString();
-    document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/';
+    // encode cookie value
+    document.cookie = cname + '=' + encodeURIComponent(cvalue) + ';' + expires + ';path=/';
 }
 
 function usageColor(data, threshold, total) {