From 4a16b6281237b6762883bd7ae13a2f2434880c3d Mon Sep 17 00:00:00 2001 From: qkqpttgf <45693631+qkqpttgf@users.noreply.github.com> Date: Sat, 29 Feb 2020 12:53:30 +0800 Subject: [PATCH 01/11] some config can input Special symbols now --- function/scf.php | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/function/scf.php b/function/scf.php index 9c4c996..f344ed8 100644 --- a/function/scf.php +++ b/function/scf.php @@ -54,16 +54,20 @@ function GetPathSetting($event, $context) function getConfig($str, $disktag = '') { global $InnerEnv; + global $Base64Env; if ($disktag=='') $disktag = $_SERVER['disktag']; if (in_array($str, $InnerEnv)) { - return json_decode(getenv($disktag), true)[$str]; + if (in_array($str, $Base64Env)) return base64_decode(equal_replace(json_decode(getenv($disktag), true)[$str],1)); + else return json_decode(getenv($disktag), true)[$str]; } - return getenv($str); + if (in_array($str, $Base64Env)) return base64_decode(equal_replace(getenv($str),1)); + else return getenv($str); } function setConfig($arr, $disktag = '') { global $InnerEnv; + global $Base64Env; if ($disktag=='') $disktag = $_SERVER['disktag']; $disktags = explode("|",getConfig('disktag')); $diskconfig = json_decode(getenv($disktag), true); @@ -72,7 +76,8 @@ function setConfig($arr, $disktag = '') $oparetdisk = 0; foreach ($arr as $k => $v) { if (in_array($k, $InnerEnv)) { - $diskconfig[$k] = $v; + if (in_array($k, $Base64Env)) $diskconfig[$k] = equal_replace(base64_encode($v)); + else $diskconfig[$k] = $v; $indisk = 1; } elseif ($k=='disktag_add') { array_push($disktags, $v); @@ -82,7 +87,8 @@ function setConfig($arr, $disktag = '') $tmp[$v] = ''; $oparetdisk = 1; } else { - $tmp[$k] = $v; + if (in_array($k, $Base64Env)) $tmp[$k] = equal_replace(base64_encode($v)); + else $tmp[$k] = $v; } } if ($indisk) { @@ -180,8 +186,7 @@ function get_refresh_token() $tmp['Onedrive_ver'] = $_POST['Onedrive_ver']; if ($_POST['Onedrive_ver']=='MSC') { $tmp['client_id'] = $_POST['client_id']; - $tmp['client_secret'] = equal_replace(base64_encode($_POST['client_secret'])); - //$_POST['client_secret']; + $tmp['client_secret'] = $_POST['client_secret']; } $response = json_decode( setConfig($tmp, $_COOKIE['disktag']), true )['Response']; $title = getconstStr('MayinEnv'); @@ -276,7 +281,6 @@ namespace:' . $_SERVER['namespace'] . '
$trynum = 0; while( json_decode(getfunctioninfo($_SERVER['function_name'], $_SERVER['Region'], $_SERVER['namespace'], $SecretId, $SecretKey),true)['Response']['Status']!='Active' ) echo ' '.++$trynum; - //$response = json_decode( updateEnvironment($tmp, $_SERVER['function_name'], $_SERVER['Region'], $_SERVER['namespace'], $SecretId, $SecretKey), true)['Response']; if (needUpdate()) { updateProgram($_SERVER['function_name'], $_SERVER['Region'], $_SERVER['namespace'], $SecretId, $SecretKey); return message('update to github version, reinstall.', 'Program updating', 201); From 9bf3969242789c62237706d2af02e53a3f356c1a Mon Sep 17 00:00:00 2001 From: qkqpttgf <45693631+qkqpttgf@users.noreply.github.com> Date: Sat, 29 Feb 2020 12:54:20 +0800 Subject: [PATCH 02/11] some config can input Special symbols now --- function/normal.php | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/function/normal.php b/function/normal.php index 7821695..0aa46e5 100644 --- a/function/normal.php +++ b/function/normal.php @@ -39,6 +39,7 @@ function getGET() function getConfig($str, $disktag = '') { global $InnerEnv; + global $Base64Env; //include 'config.php'; if ($disktag=='') $disktag = $_SERVER['disktag']; $s = file_get_contents('config.php'); @@ -46,8 +47,12 @@ function getConfig($str, $disktag = '') if ($configs!='') { $envs = json_decode($configs, true); if (in_array($str, $InnerEnv)) { - if (isset($envs[$disktag][$str])) return $envs[$disktag][$str]; - } else if (isset($envs[$str])) return $envs[$str]; + if (in_array($str, $Base64Env)) return base64_decode(equal_replace($envs[$disktag][$str],1)); + else return $envs[$disktag][$str]; + } else { + if (in_array($str, $Base64Env)) return base64_decode(equal_replace($envs[$str],1)); + else return $envs[$str]; + } } return ''; } @@ -55,6 +60,7 @@ function getConfig($str, $disktag = '') function setConfig($arr, $disktag = '') { global $InnerEnv; + global $Base64Env; if ($disktag=='') $disktag = $_SERVER['disktag']; //include 'config.php'; $s = file_get_contents('config.php'); @@ -65,7 +71,8 @@ function setConfig($arr, $disktag = '') $operatedisk = 0; foreach ($arr as $k => $v) { if (in_array($k, $InnerEnv)) { - $envs[$disktag][$k] = $v; + if (in_array($k, $Base64Env)) $envs[$disktag][$k] = equal_replace(base64_encode($v)); + else $envs[$disktag][$k] = $v; /*$diskconfig[$k] = $v; $indisk = 1;*/ } elseif ($k=='disktag_add') { @@ -76,7 +83,8 @@ function setConfig($arr, $disktag = '') $envs[$v] = ''; $operatedisk = 1; } else { - $envs[$k] = $v; + if (in_array($k, $Base64Env)) $tmp[$k] = equal_replace(base64_encode($v)); + else $tmp[$k] = $v; } } /*if ($indisk) { @@ -171,8 +179,7 @@ function get_refresh_token() $tmp['Onedrive_ver'] = $_POST['Onedrive_ver']; if ($_POST['Onedrive_ver']=='MSC') { $tmp['client_id'] = $_POST['client_id']; - $tmp['client_secret'] = equal_replace(base64_encode($_POST['client_secret'])); - //$_POST['client_secret']; + $tmp['client_secret'] = $_POST['client_secret']; } $response = setConfig($tmp, $_COOKIE['disktag']); $title = getconstStr('MayinEnv'); From 07b89f0a0bc23f7b76b5401e9788ae156da49b46 Mon Sep 17 00:00:00 2001 From: qkqpttgf <45693631+qkqpttgf@users.noreply.github.com> Date: Sat, 29 Feb 2020 12:55:07 +0800 Subject: [PATCH 03/11] some config can input Special symbols now --- function/heroku.php | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/function/heroku.php b/function/heroku.php index 7957b8c..d24e752 100644 --- a/function/heroku.php +++ b/function/heroku.php @@ -40,16 +40,20 @@ function getGET() function getConfig($str, $disktag = '') { global $InnerEnv; + global $Base64Env; if ($disktag=='') $disktag = $_SERVER['disktag']; if (in_array($str, $InnerEnv)) { - return json_decode(getenv($disktag), true)[$str]; + if (in_array($str, $Base64Env)) return base64_decode(equal_replace(json_decode(getenv($disktag), true)[$str],1)); + else return json_decode(getenv($disktag), true)[$str]; } - return getenv($str); + if (in_array($str, $Base64Env)) return base64_decode(equal_replace(getenv($str),1)); + else return getenv($str); } function setConfig($arr, $disktag = '') { global $InnerEnv; + global $Base64Env; if ($disktag=='') $disktag = $_SERVER['disktag']; $disktags = explode("|",getConfig('disktag')); $diskconfig = json_decode(getenv($disktag), true); @@ -58,7 +62,8 @@ function setConfig($arr, $disktag = '') $oparetdisk = 0; foreach ($arr as $k => $v) { if (in_array($k, $InnerEnv)) { - $diskconfig[$k] = $v; + if (in_array($k, $Base64Env)) $diskconfig[$k] = equal_replace(base64_encode($v)); + else $diskconfig[$k] = $v; $indisk = 1; } elseif ($k=='disktag_add') { array_push($disktags, $v); @@ -68,7 +73,8 @@ function setConfig($arr, $disktag = '') $tmp[$v] = ''; $oparetdisk = 1; } else { - $tmp[$k] = $v; + if (in_array($k, $Base64Env)) $tmp[$k] = equal_replace(base64_encode($v)); + else $tmp[$k] = $v; } } if ($indisk) { @@ -158,7 +164,7 @@ function get_refresh_token() $tmp['Onedrive_ver'] = $_POST['Onedrive_ver']; if ($_POST['Onedrive_ver']=='MSC') { $tmp['client_id'] = $_POST['client_id']; - $tmp['client_secret'] = equal_replace(base64_encode($_POST['client_secret'])); + $tmp['client_secret'] = $_POST['client_secret']; //$_POST['client_secret']; } $response = json_decode( setConfig($tmp, $_COOKIE['disktag']), true )['Response']; From c92ced6dc7d3296d00844d6d05bdf5e932df2187 Mon Sep 17 00:00:00 2001 From: qkqpttgf <45693631+qkqpttgf@users.noreply.github.com> Date: Sat, 29 Feb 2020 12:58:31 +0800 Subject: [PATCH 04/11] some config can input Special symbols now --- function/common.php | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/function/common.php b/function/common.php index b14dbc4..7102162 100644 --- a/function/common.php +++ b/function/common.php @@ -1,5 +1,30 @@ Date: Sat, 29 Feb 2020 13:01:44 +0800 Subject: [PATCH 05/11] Update version --- version | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/version b/version index a813a8f..6a2d5b4 100644 --- a/version +++ b/version @@ -1,7 +1,10 @@ +20200229-1300.13 +In SCF, some config can input Special symbols now, like ?&= 。 +在SCF中,某些配置可以输入特殊符号了,像background可以用?&=之类的了。 + 20200225-1310.12 Can update by one click any time. fix bugs: special tag, reupload. 可以不管版本直接一键更新(覆盖)了。修复可以使用特殊onedrive标签的bug,修复断网续传的问题。 - 20200222-2130.11 you can set background now. fix bug: 2nd disk upload. 可以设置背景图片了。第2个盘上传后链接不对。 From 4610d37976cd3b54f2575ada74ee1456ec14e1b8 Mon Sep 17 00:00:00 2001 From: qkqpttgf <45693631+qkqpttgf@users.noreply.github.com> Date: Sat, 29 Feb 2020 13:56:35 +0800 Subject: [PATCH 06/11] fix bug --- function/scf.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/function/scf.php b/function/scf.php index f344ed8..3e62265 100644 --- a/function/scf.php +++ b/function/scf.php @@ -57,10 +57,10 @@ function getConfig($str, $disktag = '') global $Base64Env; if ($disktag=='') $disktag = $_SERVER['disktag']; if (in_array($str, $InnerEnv)) { - if (in_array($str, $Base64Env)) return base64_decode(equal_replace(json_decode(getenv($disktag), true)[$str],1)); + if (in_array($str, $Base64Env)) return equal_replace(json_decode(getenv($disktag), true)[$str],1); else return json_decode(getenv($disktag), true)[$str]; } - if (in_array($str, $Base64Env)) return base64_decode(equal_replace(getenv($str),1)); + if (in_array($str, $Base64Env)) return equal_replace(getenv($str),1); else return getenv($str); } @@ -76,7 +76,7 @@ function setConfig($arr, $disktag = '') $oparetdisk = 0; foreach ($arr as $k => $v) { if (in_array($k, $InnerEnv)) { - if (in_array($k, $Base64Env)) $diskconfig[$k] = equal_replace(base64_encode($v)); + if (in_array($k, $Base64Env)) $diskconfig[$k] = equal_replace($v); else $diskconfig[$k] = $v; $indisk = 1; } elseif ($k=='disktag_add') { @@ -87,7 +87,7 @@ function setConfig($arr, $disktag = '') $tmp[$v] = ''; $oparetdisk = 1; } else { - if (in_array($k, $Base64Env)) $tmp[$k] = equal_replace(base64_encode($v)); + if (in_array($k, $Base64Env)) $tmp[$k] = equal_replace($v); else $tmp[$k] = $v; } } From 832e3b5d7f6ccc45669fa8ead68d5ef1c25faa6a Mon Sep 17 00:00:00 2001 From: qkqpttgf <45693631+qkqpttgf@users.noreply.github.com> Date: Sat, 29 Feb 2020 13:59:50 +0800 Subject: [PATCH 07/11] fix bug --- function/normal.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/function/normal.php b/function/normal.php index 0aa46e5..52e7476 100644 --- a/function/normal.php +++ b/function/normal.php @@ -47,10 +47,10 @@ function getConfig($str, $disktag = '') if ($configs!='') { $envs = json_decode($configs, true); if (in_array($str, $InnerEnv)) { - if (in_array($str, $Base64Env)) return base64_decode(equal_replace($envs[$disktag][$str],1)); + if (in_array($str, $Base64Env)) return equal_replace($envs[$disktag][$str],1); else return $envs[$disktag][$str]; } else { - if (in_array($str, $Base64Env)) return base64_decode(equal_replace($envs[$str],1)); + if (in_array($str, $Base64Env)) return equal_replace($envs[$str],1); else return $envs[$str]; } } @@ -71,7 +71,7 @@ function setConfig($arr, $disktag = '') $operatedisk = 0; foreach ($arr as $k => $v) { if (in_array($k, $InnerEnv)) { - if (in_array($k, $Base64Env)) $envs[$disktag][$k] = equal_replace(base64_encode($v)); + if (in_array($k, $Base64Env)) $envs[$disktag][$k] = equal_replace($v); else $envs[$disktag][$k] = $v; /*$diskconfig[$k] = $v; $indisk = 1;*/ @@ -83,7 +83,7 @@ function setConfig($arr, $disktag = '') $envs[$v] = ''; $operatedisk = 1; } else { - if (in_array($k, $Base64Env)) $tmp[$k] = equal_replace(base64_encode($v)); + if (in_array($k, $Base64Env)) $tmp[$k] = equal_replace($v); else $tmp[$k] = $v; } } From 7022a9c6b969272e8fab973f9209b01765b5b70a Mon Sep 17 00:00:00 2001 From: qkqpttgf <45693631+qkqpttgf@users.noreply.github.com> Date: Sat, 29 Feb 2020 14:01:38 +0800 Subject: [PATCH 08/11] fix bug --- function/heroku.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/function/heroku.php b/function/heroku.php index d24e752..3e3af96 100644 --- a/function/heroku.php +++ b/function/heroku.php @@ -43,10 +43,10 @@ function getConfig($str, $disktag = '') global $Base64Env; if ($disktag=='') $disktag = $_SERVER['disktag']; if (in_array($str, $InnerEnv)) { - if (in_array($str, $Base64Env)) return base64_decode(equal_replace(json_decode(getenv($disktag), true)[$str],1)); + if (in_array($str, $Base64Env)) return equal_replace(json_decode(getenv($disktag), true)[$str],1); else return json_decode(getenv($disktag), true)[$str]; } - if (in_array($str, $Base64Env)) return base64_decode(equal_replace(getenv($str),1)); + if (in_array($str, $Base64Env)) return equal_replace(getenv($str),1); else return getenv($str); } @@ -62,7 +62,7 @@ function setConfig($arr, $disktag = '') $oparetdisk = 0; foreach ($arr as $k => $v) { if (in_array($k, $InnerEnv)) { - if (in_array($k, $Base64Env)) $diskconfig[$k] = equal_replace(base64_encode($v)); + if (in_array($k, $Base64Env)) $diskconfig[$k] = equal_replace($v); else $diskconfig[$k] = $v; $indisk = 1; } elseif ($k=='disktag_add') { @@ -73,7 +73,7 @@ function setConfig($arr, $disktag = '') $tmp[$v] = ''; $oparetdisk = 1; } else { - if (in_array($k, $Base64Env)) $tmp[$k] = equal_replace(base64_encode($v)); + if (in_array($k, $Base64Env)) $tmp[$k] = equal_replace($v); else $tmp[$k] = $v; } } From 7f566bcc0d6b455cd81d32bcd4ad31aaa20d48f4 Mon Sep 17 00:00:00 2001 From: qkqpttgf <45693631+qkqpttgf@users.noreply.github.com> Date: Sat, 29 Feb 2020 14:02:13 +0800 Subject: [PATCH 09/11] fix bug --- function/common.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/function/common.php b/function/common.php index 7102162..43302eb 100644 --- a/function/common.php +++ b/function/common.php @@ -191,7 +191,9 @@ function equal_replace($str, $add = false) { if ($add) { while(strlen($str)%4) $str .= '='; + $str = urldecode(base64_decode($str)); } else { + $str = base64_encode(urlencode($str)); while(substr($str,-1)=='=') $str=substr($str,0,-1); } return $str; From e33f3ee059e8d4073e181e3556b78e7d85a63360 Mon Sep 17 00:00:00 2001 From: qkqpttgf <45693631+qkqpttgf@users.noreply.github.com> Date: Sat, 29 Feb 2020 18:57:33 +0800 Subject: [PATCH 10/11] fix bug! --- function/normal.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/function/normal.php b/function/normal.php index 52e7476..1953922 100644 --- a/function/normal.php +++ b/function/normal.php @@ -83,8 +83,8 @@ function setConfig($arr, $disktag = '') $envs[$v] = ''; $operatedisk = 1; } else { - if (in_array($k, $Base64Env)) $tmp[$k] = equal_replace($v); - else $tmp[$k] = $v; + if (in_array($k, $Base64Env)) $envs[$k] = equal_replace($v); + else $envs[$k] = $v; } } /*if ($indisk) { From 030d26e074d8fdc7ed17351946e8f08348445bb7 Mon Sep 17 00:00:00 2001 From: qkqpttgf <45693631+qkqpttgf@users.noreply.github.com> Date: Sun, 1 Mar 2020 13:02:20 +0800 Subject: [PATCH 11/11] Update common.php --- function/common.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/function/common.php b/function/common.php index 43302eb..f9b87e6 100644 --- a/function/common.php +++ b/function/common.php @@ -280,14 +280,14 @@ function gethiddenpass($path,$passfile) $passwordf=explode("\n",$arr['body']); $password=$passwordf[0]; $password=md5($password); - savecache($path . '/password', $password); + savecache('path_' . $path . '/?password', $password); return $password; } else { //return md5('DefaultP@sswordWhenNetworkError'); return md5( md5(time()).rand(1000,9999) ); } } else { - savecache($path . '/password', 'null'); + savecache('path_' . $path . '/?password', 'null'); if ($path !== '' ) { $path = substr($path,0,strrpos($path,'/')); return gethiddenpass($path,$passfile);