This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author kjohnson
Recipients georg.brandl, kjohnson
Date 2010-02-15.13:38:16
SpamBayes Score 1.2117658e-06
Marked as misclassified No
Message-id <1266241099.84.0.200250637967.issue7935@psf.upfronthosting.co.za>
In-reply-to
Content
eval() is a known security hole. Since Python 2.6 ast.literal_eval() provides a better alternative in many cases. literal_eval() is not as well known as eval() and not easy to find even if you know it exists (but don't remember the name).

eval() comes up over and over in the Python-tutor list and the attendant warnings are repeated ad nauseum; literal_eval() is rarely mentioned as an alternative.

Suggestion: in the docs for eval(), put a warning about security risks and a cross-reference to literal_eval(). For example:

Warning: eval() executes any expression and should be used only with trusted input. ast.literal_eval() is a safe alternative for evaluating expressions containing only Python literals.

Thanks!
History
Date User Action Args
2010-02-15 13:38:20kjohnsonsetrecipients: + kjohnson, georg.brandl
2010-02-15 13:38:19kjohnsonsetmessageid: <1266241099.84.0.200250637967.issue7935@psf.upfronthosting.co.za>
2010-02-15 13:38:18kjohnsonlinkissue7935 messages
2010-02-15 13:38:16kjohnsoncreate