Я хочу симулировать эту ошибку, поэтому я могу проверить, что отображается общая страница ошибки, а не HTTP 500, в свете недавней уязвимости безопасности.
Мы включаем специальную обработку в самом сайте для 404 и 403, поэтому я хочу убедиться, что ошибки без специальной обработки тоже работают.
Ответ 1
throw new Exception();
Это создаст HTTP 500
Ответ 2
Я думаю, вы можете сделать это, переопределив инициализацию страницы и добавив код состояния 500 в ответ следующим образом:
protected void Page_Init(object sender, EventArgs e)
{
Response.Clear();
Response.StatusCode = 500;
Response.End();
}
Наслаждайтесь!
Ответ 3
вы можете разбить файл web.config. Поместите неверный тег для тестов
Ответ 4
Здесь можно сделать это без изменения вашего сайта:
- В своем веб-браузере откройте страницу на своем сайте с обратной формой.
- Нажмите F12, чтобы открыть инструменты разработчика.
- На вкладке HTML найдите __VIEWSTATE и каким-либо образом измените значение.
- Отправить в форму
Это приведет к ошибке «Проверка MAC-адреса в представлении» с ошибкой «ASP.Net Exception», которая возвращает код ответа HTTP с внутренней внутренней ошибкой сервера.
Разрыв web.config с неверным тегом также работает, но он побеждает цель, если вы пытаетесь проверить некоторые параметры в вашем web.config(например, Failed Request Tracing).
Ответ 5
Это генерирует пользовательский код ошибки HTTP в классическом asp.
<%@language=Jscript%>
<%
Response.Status = "996 TerraNova GeoWeb Internal Server Error";
Response.End;
%>
3 Answers
Throw a .htaccess with some weird symbols in your document root and call the page
You can break one of the RewriteRules of WordPress if you already have a .htaccess
Just make sure you know what you broke haha
answered Apr 5, 2013 at 11:35
TorbenTorben
19311 bronze badges
If you deliberately break some code on the site it should display the 500 page.
answered Apr 5, 2013 at 11:32
TangoKiloTangoKilo
1,7853 gold badges25 silver badges44 bronze badges
Hmm you can’t have custom 500 error page on wordpress as far as i know.
But give this a try on your .htaccess and let know
ErrorDocument 500 /500.shtml
answered Apr 5, 2013 at 11:35
#1
IgorZip
-
- Members
-
- 8 сообщений
Новый участник
- ФИО:Igor Zip
Отправлено 28 января 2019 — 14:19
Есть поле для вставки ссылки на картинку. После вставки ссылки она парсится и подтягивается изображение в соседнее поле. Как мне можно вызвать 500 ошибку связаную с этим полем. Пробовал много-много символов вводить- ничего
-
0
- Наверх
#2
baruk
baruk
-
- Members
-
- 11 сообщений
Новый участник
Отправлено 28 января 2019 — 14:42
Интересно, с чего вы решили, что это вообще возможно? Если сервис написан нормально, то не получится =)
А так вариантов масса, считай любая негативная проверка может дать подобное поведение.
Например, битая ссылка, совсем не ссылка, слишком большое изображение (допустим, файлик на пару гигов), нулевой размер, неправильное расширение (например, ссыль на jpeg, хотя файл на самом деле архив) и т.д.
Если есть доступ к коду, то можно посмотреть, какие проверки не предусмотрены в нем и при каких условиях выкинется необработанное исключение
-
0
- Наверх
#3
IgorZip
IgorZip
-
- Members
-
- 8 сообщений
Новый участник
- ФИО:Igor Zip
Отправлено 28 января 2019 — 14:57
Интересно, с чего вы решили, что это вообще возможно? Если сервис написан нормально, то не получится =)
А так вариантов масса, считай любая негативная проверка может дать подобное поведение.
Например, битая ссылка, совсем не ссылка, слишком большое изображение (допустим, файлик на пару гигов), нулевой размер, неправильное расширение (например, ссыль на jpeg, хотя файл на самом деле архив) и т.д.
Если есть доступ к коду, то можно посмотреть, какие проверки не предусмотрены в нем и при каких условиях выкинется необработанное исключение
Спасибо)
-
0
- Наверх
#4
Spock
Отправлено 28 января 2019 — 15:50
делается легко
устанавливаем перехватывающий прокси типа ZAP
и перехватываем ответ сервера и меняем код ответа на 500 и тело ответа меняем на что угодно, например «123»
-
0
- Наверх
#5
baruk
baruk
-
- Members
-
- 11 сообщений
Новый участник
Отправлено 28 января 2019 — 19:07
перехватываем ответ сервера и меняем код ответа на 500 и тело ответа меняем на что угодно, например «123»
Не опасно ли так, не зная как реально возвращаются 500ые? Подсунем стандартный ответ веб-сервера, а реально в ответ прилетит какой-нить json, со структурой, отличной от всего что видели.
И вот он, потенциально пропущенный дефект
-
0
- Наверх
#6
Spock
Отправлено 28 января 2019 — 19:17
Не опасно ли так, не зная как реально возвращаются 500ые? Подсунем стандартный ответ веб-сервера, а реально в ответ прилетит какой-нить json, со структурой, отличной от всего что видели.
И вот он, потенциально пропущенный дефект
почитайте выше, я написал что в тело подставляем «что угодно», например «123» — вот вам и «прилетает» структура которую мы не ожидаем
-
0
- Наверх
#7
baruk
baruk
-
- Members
-
- 11 сообщений
Новый участник
Отправлено 28 января 2019 — 19:40
почитайте выше, я написал что в тело подставляем «что угодно», например «123» — вот вам и «прилетает» структура которую мы не ожидаем
Именно. А зачем нам такая структура? Ну начнут разрабы ловить ошибки при попадании «чего угодно», а прилетит реальная 500 и тут все упадет.
Я к тому, что при подмене данных нужно использовать правильную структуру ответа, иначе, как мне кажется, бессмысленно.
-
0
- Наверх
#8
Spock
Отправлено 28 января 2019 — 19:59
Именно. А зачем нам такая структура? Ну начнут разрабы ловить ошибки при попадании «чего угодно», а прилетит реальная 500 и тут все упадет.
Я к тому, что при подмене данных нужно использовать правильную структуру ответа, иначе, как мне кажется, бессмысленно.
смотрите как подменять надо чтобы «все ловилось»:
кейс 1: подмена ответа на «ожидаемую» ошибку
подменяем хттп-код на например 403 либо что у вас там считается ошибкой, тело ответа подменяем на ошибку в вашем формате, например джейсон, с текстом например «баланс ниже нуля». смотрим система распарсила ошибку и отобразила в интерфейсе текст «баланс ниже нуля»
кейс 2: подмена ответа на «неожидаемую» ошибку
подменяем хтпп-код на например 500 и тело на что-то не по вашей структуре например «123». Смотрим что обработчик отобразил какую-то общую ошибку типа «Something went wrong»
-
0
- Наверх
#9
baruk
baruk
-
- Members
-
- 11 сообщений
Новый участник
Отправлено 28 января 2019 — 20:13
В таком виде согласен с вами.
-
0
- Наверх
#10
77juli77
77juli77
-
- Members
-
- 1 сообщений
Новый участник
Отправлено 21 мая 2021 — 15:20
Здравствуйте — можно но ли получить ошибку 500 или другую ошибку ( симитировать) — банк требует скриншот, а я его не сделала — не могла зайти вовремя списали 60 000 которые копились год. Буду признательна и готова заплатить если можно что то сделать — спасибо
-
0
- Наверх
#11
Snap
Snap
- ФИО:Роман
- Город:Москва
Отправлено 30 августа 2021 — 08:04
Здравствуйте — можно но ли получить ошибку 500 или другую ошибку ( симитировать) — банк требует скриншот, а я его не сделала — не могла зайти вовремя списали 60 000 которые копились год. Буду признательна и готова заплатить если можно что то сделать — спасибо
Нет. Если банк честный и у них есть лог ошибок (например, на моем проекте есть), то если вы назовете им свой IP (правда IP у вас уже мог измениться) и точное время, они смогут посмотреть, была ли ошибка.
Еще, если не ошибаюсь, сейчас провайдер обязан хранить историю посещений сайтов полгода, можно попробовать обратиться к нему.
-
0
- Наверх
I’m writing an authentication script in PHP, to be called as an API, that needs to return 200only in the case that it approves the request, and
403(Forbidden) or
500` otherwise.
The problem I’m running into is that php returns 200
in the case of error conditions, outputting the error as html instead. How can I make absolutely sure that php will return an HTTP 500
code unless I explicitly return the HTTP 200
or HTTP 403
myself? In other words, I want to turn any and all warning or error conditions into 500
s, no exceptions, so that the default case is rejecting the authentication request, and the exception is approving it with a 200
code.
I’ve fiddled with set_error_handler()
and error_reporting()
, but so far no luck. For example, if the code outputs something before I send the HTTP response code, PHP naturally reports that you can’t modify header information after outputting anything. However, this is reported by PHP as a 200
response code with html explaining the problem. I need even this kind of thing to be turned into a 500
code.
Is this possible in PHP? Or do I need to do this at a higher level like using mod_rewrite
somehow? If that’s the case, any idea how I’d set that up?
Надеюсь, это поможет вам определить лучший способ реализации макетов.
В проекте объясняется общая идея, есть проблемы с семантикой и переводом с readme.md
, я буду работать над этим, пожалуйста, будьте терпеливы. Пожалуйста, забудьте мой английский /misspelling, дайте мне знать о любой коррекции
Я работал над этим демо-проектом о том, как реализовать Protractor + CucumberJS + sugar-step. Сейчас он содержит очень простой Angular APP и 3 E2E Test.
Демонстрация работает, но не завершена, но все же нужны некоторые функции, которые, как мне кажется, полезны для тестирования E2E.
- Первый тест проверяет службу на службу по умолчанию (Dev
окружающей среды макет) - Вторая проверка проверки того, что запрос службы возвращает ошибку
со статусом 404 - Третий тест проверяет, что запрос службы возвращает ошибку с кодом состояния 500
Как я могу установить разные ответы Mock для каждого сценария?
- Использование функции огурца вокруг, которая может использоваться для ввода
angular.module('mock-Service-response-x',fn...)
перед любой функцией или сценарием и удалять ее после запуска функции или сценария
Что можно проверить таким образом?
- Любые сценарии, ответы с экстремальными задержками, ответы на любой код состояния, специальные данные ответа для тестирования очень конкретных сценариев, которые в противном случае будут невозможны/труднодоступны из обычной серверной службы, такие как несогласованность данных на обратной стороне, конец
Зачем использовать UI-Mocks в AngularJS, а не прокси?
-
Контроль пользовательского интерфейса, (конечно, в зависимости от ваших конкретных потребностей) с помощью Angular вы можете делать такие вещи, как: отключить анимацию
ngAnimations
илиjQuery
полностью, Mock вашего локального браузераDate
, чтобы эмулировать поведение, которое зависит от даты автоматически. -
Стоимость, (в зависимости от вашего проекта) стоимость реализации локального прокси для всех веб-сервисов в каждой среде разработки может быть дорогостоящей (в аппаратных средствах или усилиях или часах реализации).
-
Зависимость, если ваши команды разработчиков работают параллельно, это, скорее всего, будет зависеть от друг друга, если команда пользовательского интерфейса работает в функции, зависящей от X Web Сервис, зная спецификации реализации, команда UI может создавать простые макеты для продолжения своей работы, что делает более вероятным доставку во время проекта дыры.
Все эти аргументы зависят от того, с каким проектом вы работаете, и вовсе не означает, что это лучшее решение, но я больше заинтересован в том, чтобы слои проекта были независимы друг от друга и уметь выпустить новую функцию в одном слое независимо от того, задерживается ли другой уровень в его собственных новых функциях.
Для всех, кто читает это, любые комментарии, исправления или предложения будут более чем приветствуемыми