Los valores de comando deben estar codificados en http mediante secuencias de escape %xx, de forma que las cadenas de valor no incluyan los caracteres reservados "=", "&" y "%".
De lo contrario, se aplican reglas de codificación HTTP estándar. La especificación HTTP requiere la codificación de los caracteres no seguros, así como de cualquier carácter de control, como <return>
y <tab>
. La codificación URL de un carácter consiste en un símbolo "%", seguido de la representación hexadecimal de dos dígitos (sin distinción de mayúsculas y minúsculas) del punto de código ISO-latino del carácter. Los caracteres no seguros y los puntos de código son:
Carácter no seguro | Puntos de código (hex) | Puntos de código (dec) |
---|---|---|
Espacio |
20 |
32 |
< |
3C |
60 |
> |
3E |
62 |
" |
22 |
34 |
# |
23 |
35 |
% |
25 |
37 |
&llave; |
7B |
123 |
&brace; |
7D |
125 |
| |
7C |
124 |
\ |
5C |
92 |
^ |
5E |
94 |
~ |
7E |
126 |
[ |
5B |
91 |
&brack; |
5D |
93 |
` |
60 |
96 |
Los caracteres reservados también deben estar codificados.
Carácter reservado | Puntos de código (hexadecimal) | Puntos de código (dic) |
---|---|---|
$ |
24 |
36 |
& |
26 |
38 |
+ |
2B |
43 |
, |
2C |
44 |
/ |
2F |
47 |
: |
3A |
58 |
; |
3B |
59 |
= |
3D |
61 |
? |
3F |
63 |
@ |
40 |
64 |
…&$text=rate&weight=85% 27#&…
Si no se aplica la ofuscación, el fragmento de solicitud anterior debe codificarse de la siguiente manera:
…&$text=rate%26weight%3D85%25%2027%23&…
Si se aplica la ofuscación, la codificación se puede limitar a eliminar los caracteres "=", "&" y "%":
…&$text=rate%26weight%3D85%25 27#&…
Confusión de solicitud, Especificación HTTP/1.1 (RFC 2616)