- 1
<img src="/html/../images/menu/top.png" alt="" />
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+126
<img src="/html/../images/menu/top.png" alt="" />
Весь HTML вот так зашифрован, не знаю нормально ли это?
guest 24.05.2013 23:36 # 0
inkanus-gray 24.05.2013 23:38 # −2
Что смутило? Если путь к файлу, то всё зависит от сервера. "/html" может быть cgi-скриптом, тогда "../images/menu/top.png" — это параметры его вызова. Может стоять mod_rewrite, например.
wvxvw 25.05.2013 00:22 # +2
inkanus-gray 25.05.2013 05:11 # +2
Within the <path> and <searchpart> components, "/", ";", "?" are
reserved. The "/" character may be used within HTTP to designate a
hierarchical structure.
RFC2396 уже рекомендует нормализовать URL в клиенте перед отправкой запроса, но только если путь относительный. Остальные же положения . и .. приведены в параграфе «Abnormal examples»:
Similarly, parsers must avoid treating "." and ".." as special when
they are not complete components of a relative path.
Т. е. путь "html/../images/menu/top.png" нужно нормализовать, потому что он относительный, а с "/html/../images/menu/top.png" ничего не делать, потому что он начинается со слэша.
inkanus-gray 26.05.2013 01:36 # +2
Современные веб-браузеры (IE, Опера, ФФ, Хром) нормализуют все пути (и абсолютные, и относительные) ещё до отправки запроса к серверу. Но в RFC3986, вышедшем в 2005 году, абзаца, явно разграничивающего правила для абсолютных и относительных путей, уже нет.
wvxvw 26.05.2013 08:25 # 0
bormand 26.05.2013 08:51 # 0
wvxvw 26.05.2013 10:05 # +1