Änderungen

→‎Code: besser!
Zeile 2: Zeile 2:  
<pre>
 
<pre>
 
fkt_eval_query_string () {
 
fkt_eval_query_string () {
       local SANITIZED="$(echo $QUERY_STRING | sed -e 's/[^%&=+-:@-_a-z~]//g')"
+
       local INPUT="$QUERY_STRING"
      local ESCAPED="$(httpd -d $SANITIZED | sed -e 's/=/="/g' -e 's/&/";/g ' -e 's/$/"/g')"
     −
       eval $ESCAPED
+
      test -z "$INPUT" && return
 +
 
 +
      local SANITIZED="$(echo $INPUT | sed -e 's/[^%&=+-:!,@\\"-_a-z~]//g')"
 +
      local ESCAPED="$(httpd -d $SANITIZED | sed -e 's/"/\\"/g' -e 's/=/="/g' -e 's/&/";/g ' -e 's/$/"/g')"
 +
 
 +
       eval $ESCAPED 2>/dev/null
 
}
 
}
 
</pre>
 
</pre>
    
=Code_alt (haesslich,aber tricky!)=
 
=Code_alt (haesslich,aber tricky!)=
 +
<pre>
 
fkt_decode_url () {                                    # SENS: convert encoded URL to normal (e.g. %20 = space , %40 = @-Symbol )                           
 
fkt_decode_url () {                                    # SENS: convert encoded URL to normal (e.g. %20 = space , %40 = @-Symbol )                           
 
         s=$(echo "$1" | sed -e "s/+/%20/g")            # ARG1: (maybe) dirty string                                                     
 
         s=$(echo "$1" | sed -e "s/+/%20/g")            # ARG1: (maybe) dirty string                                                     
Zeile 49: Zeile 54:  
         eval "$VARS"                                                                                                                 
 
         eval "$VARS"                                                                                                                 
 
}
 
}
 +
</pre>
    
=Erklaerung=
 
=Erklaerung=