When'CGI::Carp qw(fatalsToBrowser)' is enabled, the error goes to the broswer, which is desirable during production.

No, No, NO, NO, NO! This is NEVER desirable in production for any reason at any time. Having this is production is a major security hole. Let's say the error is a SQL error ... now, you're displaying your database schema to the world. This means that I can craft a query to perform a SQL injection. And, that's just one of the millions of ways to break your site.

Instead, it is much better to redefine the 500 handler as a script which displays a generic "There is a problem. Please contact management and let them know what you were doing". The error should be logged in some datastore (such as the error_log, if you're using Apache) and every page view should be logged, including user and parameters (which the access_log doesn't necessarily have), so that support staff can replicate what the user was doing at the time of the error.

------
We are the carpenters and bricklayers of the Information Age.

Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose


In reply to Re: Trap errors in entire module... by dragonchild
in thread Trap errors in entire module... by kiat

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.