NickCis / Oruga

Administrador web de musica
1 stars 0 forks source link

Los parametros llegan escapados al modo HTML #14

Closed ghost closed 11 years ago

ghost commented 11 years ago

Ej, si se manda carpeta=/home al plugin, a este le llega carpeta=%2Fhome opciones que cada plugin lo maneje que el server lo maneje

ghost commented 11 years ago

Sigue pasando, con el "/" no, pero con espacio y otros caracteres si

NickCis commented 11 years ago

El tema es qe la lista de parametros es de CGI osea, un url, por defecto se escapan los espacios, ampersands (&), signos de pregunta (?) y creo qe tmb los iguales (=), podes probar con el navegador o desde consola abriendo la consola interactiva del node (tiras el comando node y listo).

>>> encodeURI("abcdefghijklmnopqrstuvwxyzñáéíóú|1234567890'¿°!\"#$%&/()=?¡¬|@·~½¬{[]}\}{][") "abcdefghijklmnopqrstuvwxyz%C3%B1%C3%A1%C3%A9%C3%AD%C3%B3%C3%BA%7C1234567890'%C2%BF%C2%B0!%22#$%25&/()=?%C2%A1%C2%AC%7C@%C2%B7~%C2%BD%C2%AC%7B%5B%5D%7D%7D%7B%5D%5B"

Esto se puede cambiar, se podria escapar solo los & y =, qe son los qe realmente afectarian al parseo de los parametros, qe preferis?

ghost commented 11 years ago

yo diria que le tendria que llegar todo decodeado o todo encodeado, asi se si tengo que usar la cadena tal cual me llega o si antes tengo que reemplazar todos los %XX por el caracter que corresponda.

yo creo que deberia llegar todo decodeado a todos los plugins, para que no tenga cada plugin que decodear la cadena

ghost commented 11 years ago

la forma que se especifico con @NickCis es

"variable=" + encodeURIComponente(valor_variable) + "&variable2=" + encodeURIComponent(valor_variable2)