后浪云Python教程:Security Considerations

Security Considerations

The following modules have specific security considerations:

  • base64: base64 security considerations in RFC 4648

  • cgi: CGI security considerations

  • hashlib: all constructors take a “usedforsecurity” keyword-only argument disabling known insecure and blocked algorithms

  • http.server is not suitable for production use, only implementing basic security checks. See the security considerations.

  • logging: Logging configuration uses eval()

  • multiprocessing: Connection.recv() uses pickle

  • pickle: Restricting globals in pickle

  • random shouldn’t be used for security purposes, use secrets instead

  • shelve: shelve is based on pickle and thus unsuitable for dealing with untrusted sources

  • ssl: SSL/TLS security considerations

  • subprocess: Subprocess security considerations

  • tempfile: mktemp is deprecated due to vulnerability to race conditions

  • xml: XML vulnerabilities

  • zipfile: maliciously prepared .zip files can cause disk volume exhaustion

The -I command line option can be used to run python in isolated mode. When it cannot be used, the -P option or the PYTHONSAFEPATH environment variable can be used to not prepend a potentially unsafe path to sys.path such as the current directory, the script’s directory or an empty string.

THE END