Store-Opaque
view release on metacpan or search on metacpan
lib/Store/Opaque.pm view on Meta::CPAN
Alas, that is easily defeated by accident if developers write stuff like this:
sub foo {
warn Data::Dumper->Dump(\@_); # FIXME just for debugging
my $super_sensitive = shift;
this_can_die();
}
Again, there's a myriad of ways to explicitly defeat that, but I'd bring up
the more powerful Data::Dump::Streamer (in conjunction with PadWalker and
B::Deparse) next. Even inside out objects can accidentally be dumped if you're
using Data::Dump::Streamer to dump their methods.
It's becoming progressively less easy to make a mistake
like the above, but why bother?
This module implements an opaque object implementation that does not suffer from
these issues. Let me repeat. This isn't about hiding anything from an attacker.
It's about preventing mistakes from people who have legitimate access.
Oh, and don't use this for *all* of your objects as it comes with a small memory
( run in 0.711 second using v1.01-cache-2.11-cpan-05444aca049 )