gridsuite / gridstudy-app

Mozilla Public License 2.0
9 stars 3 forks source link

404 when escaped slashes are in the url #177

Open jonenst opened 3 years ago

jonenst commented 3 years ago

if you name a study "A/B", the url is https://demo.powsybl.org/gridstudy/studies/A%2FB

but our apache generates the wrong base for this (../.. instead of ..)

jonenst commented 3 years ago

Actually some reverse proxy was replacing the %2F with a real slash, hence the wrong base.

However, when doing the correct request with %2F, the server responds with a 404 ! huge bug

root@gridstudy-app-59cd9bc67d-dp6f6:/usr/local/apache2# curl -s 'http://localhost/foo/bar/baz/' | sed -e 's/.*base href//' | sed -e 's/meta.*//g' ; echo
="../../.."/><
root@gridstudy-app-59cd9bc67d-dp6f6:/usr/local/apache2# curl -s 'http://localhost/foo/a%20b/baz/' | sed -e 's/.*base href//' | sed -e 's/meta.*//g' ; echo
="../../.."/><
root@gridstudy-app-59cd9bc67d-dp6f6:/usr/local/apache2# curl -s 'http://localhost/foo/a%2Eb/baz/' | sed -e 's/.*base href//' | sed -e 's/meta.*//g' ; echo
="../../.."/><
root@gridstudy-app-59cd9bc67d-dp6f6:/usr/local/apache2# curl -s 'http://localhost/foo/a%2Fb/baz/' | sed -e 's/.*base href//' | sed -e 's/meta.*//g' ; echo
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>