Récupérer un itinéraire sur le réseau CTS - retour accueil
git clone git://bebou.netlib.re/cts
Log | Files | Refs | README |
commit 9609bacd0e49a096aa0c49df1d59adb4570b5950 parent 91f3f55605956e9453410670170217596fc0d00b Auteurice: Arthur Pons <arthur.pons@unistra.fr> Date: Sat, 22 Mar 2025 11:33:19 +0100 Amélioration de la sécurité du script Puisque le but est de le rendre dispo sur internet faut faire attention. La forme eval "$opt=$OPTARG" permet d'exécuter du code arbitraire en faisant par ex cts -d "blabla;seq 10;" Pas forcément grave quand on fait des trucs en local mais dans notre cas c'est essentiel. Diffstat:
M | cts | | | 7 | +++++-- |
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/cts b/cts @@ -48,8 +48,11 @@ while getopts "hfj:t:d:i:a:o:" opt;do case $opt in ( h ) usage;exit 0;; ( f ) f=1 ;; - ( d | i | a | o ) eval "$opt=$OPTARG" ;; - ( j ) eval "$opt=$(echo "$OPTARG" | sed 's,[-/],%2F,g')";; + ( d ) d="$OPTARG" ;; + ( i ) i="$OPTARG" ;; + ( a ) a="$OPTARG" ;; + ( o ) o="$OPTARG" ;; + ( j ) j="$(echo "$OPTARG" | sed 's,[-/],%2F,g')";; ( t ) h=$(echo "$OPTARG" | cut -f1 -d'h') m=$(echo "$OPTARG" | cut -f2 -d'h') ;;