mirror of
https://github.com/nextcloud/nextcloudpi.git
synced 2026-01-10 15:12:01 -03:30
sanitize params
This commit is contained in:
parent
7dd4828938
commit
c842e00399
@ -96,7 +96,7 @@ function config_menu()
|
||||
|
||||
# launch selected ncp_app
|
||||
info_app "$ncp_app" || continue
|
||||
configure_app "$ncp_app" || continue
|
||||
configure_app "$ncp_app" && \
|
||||
run_app "$ncp_app"
|
||||
echo "Done. Press any key..."
|
||||
read -r
|
||||
|
||||
@ -61,7 +61,7 @@ function configure_app()
|
||||
|
||||
for (( i = 0 ; i < len ; i++ )); do
|
||||
# check for invalid characters
|
||||
grep -q "[;&[:space:]]" <<< "${ret_vals[$i]}" && { echo "Invalid characters in field ${vars[$i]}"; break; }
|
||||
grep -q '[\\&#;`|*?~<>^()[{}$&[:space:]]' <<< "${ret_vals[$i]}" && { echo "Invalid characters in field ${vars[$i]}"; return 1; }
|
||||
|
||||
cfg="$(jq ".params[$i].value = \"${ret_vals[$i]}\"" <<<"$cfg")"
|
||||
done
|
||||
|
||||
@ -58,7 +58,15 @@ if ( $_POST['action'] == "launch" && $_POST['config'] )
|
||||
or exit('{ "output": "Invalid request" }');
|
||||
|
||||
foreach ($cfg['params'] as $index => $param)
|
||||
$cfg['params'][$index]['value'] = $new_params[$cfg['params'][$index]['id']];
|
||||
{
|
||||
// sanitize
|
||||
$val = trim(escapeshellarg($new_params[$cfg['params'][$index]['id']]),"'");
|
||||
preg_match( '/ /' , $val , $matches )
|
||||
and exit( '{ "output": "Invalid parameters" , "token": "' . getCSRFToken() . '" }' );
|
||||
|
||||
// save
|
||||
$cfg['params'][$index]['value'] = $val;
|
||||
}
|
||||
|
||||
$cfg_str = json_encode($cfg)
|
||||
or exit('{ "output": "' . $ncp_app . ' internal error" }');
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user