【发布时间】:2010-09-13 19:17:17
【问题描述】:
我一直在编写本地运行的 python 脚本。我现在想使用这些 python 脚本之一在线提供服务,并且通过我拥有的虚拟主机,我可以在 cgi-bin 中运行 python。
python 脚本从用户填写的 html 表单中获取输入,拥有凭据并连接到本地数据库,使用 python 库计算内容并将结果以 HTML 格式发送出去。
我想知道我应该采取哪些安全预防措施。以下是我的担忧:
- 对于通过 Web 调用的脚本,正确的文件权限是什么? 755?
- 我正在接受用户输入。如何保证已消毒?
- 我在脚本中有数据库的用户/密码。如何防止脚本被下载和代码被看到?
- 我可以在文件旁边安装其他库吗?我是否也需要担心这些的安全性?我是否将他们的权限设置为 700? 744?
- 还有其他我不知道的漏洞吗?
【问题讨论】:
-
"我在脚本中有数据库的用户/密码。"破获。你不应该这样做。时期。现在停止。
-
@S.Lott 您应该四处走走,询问几乎所有关于将 python 连接到数据库的介绍性教程以更改其示例。
-
教程不是生产就绪的代码。它会使示例变得混乱,以显示对数据库凭据的正确处理。您可能需要实际阅读 database 文档,以更好地保留不会在 CGI 脚本中公开它们的凭据。