tengo un problema que nunca he visto antes, y creo que tiene algo que ver con la configuración de apache, que no conozco muy bien.apache: diéresis escapadas en cadena de consulta (URL) conducen a 403
primero, hay un script php con un formulario de búsqueda. la forma se transmite a través de POST.
luego está la lista de resultados de resultados de búsqueda. aquí la consulta de búsqueda original se pasa como parte de la url, por ejemplo: search.php? id = 1234 & query = foo. esto también funciona, siempre y cuando no haya diéresis (äöüÄÜÜß ...) caracteres transmitidos.
tan pronto como me incluyo diéresis en la consulta de búsqueda, la primera parte que transmite la cadena de consulta como funciona la POST, pero pasándolo (urlencoded) en el URL dirige a un 403.
manera:
search.php?id=1234&query=bar
funcionasearch.php?id=1234&query=b%E4r
lleva a 403 (% E4 = "a" UTF-8 urlencoded)search.php?id=1234&query=b%C3%A4r
lleva a 403 (% C3% A4 = "a" UTF-8 urlencoded)- diéresis presentación vía el poste de obras
i convertidos la aplicación de la norma ISO-8859-1 a UTF-8, pero que no hicieron ningún diferencia.
También lo probé en mi máquina local, aquí funciona sin problemas, como se esperaba.
configuración remota del servidor (en el que no funciona):
Apache/2.2.12 (Ubuntu),
Versión PHP 5.2.10-2ubuntu6.7, Suhosin Parche 0.9.7, a través CGI/FastCGI
configuración local (aquí las mismas obras):
Apache/2.2.8 (Win32) PHP/5.3.5
PHP versión 5 .3.5 a través de mod_php
¿Alguien tiene una idea de por qué el apache/php-cgi remoto no acepta umlauts urlencoded correctamente en la url?
información adicional: también intenté crear un archivo estático con una diéresis en su nombre, y tanto /t%C3%A4st.php
como /täst.php
se publicaron sin problemas. täst.php?foo=täst
falla.
nota: ?foo=%28
, donde% es 28 "(", funciona también
pedante, lo sé, pero "ß" no tiene diéresis ... – Stephen
lo siento :) ¿cómo se llama este superconjunto de tipo de caracteres especiales? – stefs
¿tiene algún mod_security-like módulo con algunas reglas rotas? ¿Esto también ocurre con cualquier personaje no ascii como àéù? – arnaud576875