in reply to A modest request of Merlyn
Consider this code, which is a trivial modification of the code you posted, and merlyn suggested was foolish. String eval is incredibly dangerous as unless you have perfect control over the input data a cracker can run arbitrary code.....
@keys=( 'warn "merlyn is right, this is insecure and your code *was* f +oolish!\n"' ); $e = '%hash = (' . (shift @keys) . '=>'; $e .= '{' . $_ . '=>' for @keys; $e .= '1'; $e .= '}' for @keys; $e .= ');'; eval $e;
Sometimes you need eval, most times you don't. A wise man knows the difference. There are better faster more secure ways to do it. You apparently did not know this at the time. If you peruse some of the other, better answers in that thread you may learn something. If you are a fool you will insist that this sort of hack could never happen. If you know a little bit about merlyn you may be aware he is a person not unfamiliar with security issues.
cheers
tachyon
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: A modest request of Merlyn
by delirium (Chaplain) on Jul 13, 2004 at 12:57 UTC | |
by tachyon (Chancellor) on Jul 13, 2004 at 13:07 UTC |