cts

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:
Mcts | 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') ;;