后浪云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.