Closed alder closed 12 years ago
This is the intended behavior.
Much better behavior is 404 error. Not 500, not application code.
Well designed 404 page have to be shown. Not 'server error'.
There are 404 pages for articles and accounts. Revision IDs are permanent (except for "permanently deleted" pages ie spam) - if there is an error in viewing revisions or comparing them, then there is either an error in the URL or a serious server error. So 500 is the right behavior. All 500 pages return a stack trace to make error reporting easier.
Ошибка валидации не должна приводить к 500 никогда. Почитай что ли книжку. 4xx -- ошибка клиента. 5xx -- ошибка сервера.
P.S. С таким подходом толку от этого сайта не будет.
Еще добавлю - на живом сайте пользователь никогда не должен видеть никаких стектрейсов. Это потенциальная уязвимость. Максимум - сообщение "Упс! Что-то пошло не так, мы уже в курсе и работаем над этим" и все ошибки логировать.
Опять повторяю: это не ошибка валидации. Это или ошибка в базе данных, или ошибка в генерации URL. Если кто-то хочет найти уязвимость, то может спокойно прочитать код. А стек трейс упрощает дебаггинг для меня и пользователей cliki. Это же сайт для программистов.
Пробел в url был добавлен пользователем. Он набрал url по-памяти (например). http://cliki2-beta.cliki.net/site/view-revision?id=10000000 А это ошибка в базе или ещё где?
Steps to reproduce:
Details: junk in string "4 4546"
P.S. Also this happens while processing /site/compare-revisions request. See - http://74.207.228.11/site/compare-revisions?old=4+4537&diff=44538