2017-02-03 2 views
0

У меня есть несколько плохо написанных программ perl, обслуживающих мои сайты. Иногда они сбой и пользователь видит ...Как скрыть ошибки программы с кодом ошибки HTTP 500

Ошибка программного обеспечения: Yadda yadda yadda. За помощью, пожалуйста, отправьте письмо вебмастеру ([email protected]), указав это сообщение об ошибке и время и дату ошибки.

У меня нет доступа к этому адресу электронной почты, и даже если бы я сделал эти непослушные пользователи, которым нельзя доверять, сообщите об этой ошибке.

Так что я хотел бы сделать, это получить эту ошибку, чтобы вызвать ошибку HTTP 500, так что я могу контролировать его с помощью строки в файл .htaccess, как ...

ErrorDocument 500 /fixThisBug.shtml

+1

1) Найдите файлы, содержащие «[email protected]». 2) Измените код на 'die' вместо печати сообщения. 3) Обновите конфигурацию Apache – ThisSuitIsBlackNot

+1

(другими словами, устраните основную причину проблемы вместо того, чтобы пытаться взломать его.) – ThisSuitIsBlackNot

+0

Вы говорите, что это сообщение генерируется самими программами perl? Разумеется, этот адрес электронной почты не содержится ни в одном из perl-скриптов. Я не понимаю, почему я получаю эту ошибку, а не HTTP 500. – Melchester

ответ

1

Благодаря ThisSuitIsBlackNot для направления.

Perl-программы все имеют

use CGI::Carp(fatalsToBrowser); 

Что душит ошибку 500 HTTP. Простое удаление этого позволит программам «сбой».

+0

Хорошая находка. 'fatalsToBrowser' никогда не должен включаться в производство, поскольку он может раскрывать подробности о внутренних функциях ваших скриптов потенциальным злоумышленникам. Кроме того, если 'fatalsToBrowser' действительно не цитируется или в' qw', это говорит о том, что ваши скрипты не используют '' strict ''. – ThisSuitIsBlackNot

 Смежные вопросы

  • Нет связанных вопросов^_^