Python、Flask、Web应用安全

-3 投票
1 回答
837 浏览
提问于 2025-04-18 17:06

在使用Flask部署的时候,我想从网页应用中编辑sqlite数据库,但遇到了chmod权限的问题。于是我就把整个目录都设置成了除了root以外的用户都能访问。不过这样做安全吗?我觉得我应该为www访问和root访问创建一个单独的用户组,只允许这个用户组的root和www访问这个文件夹。但是,如果我简单地把我用Flask和Apache部署的文件夹设置成chmod 777,这样会不会造成安全隐患?毕竟通过Apache也没人能直接访问这个文件夹,所以这不会让我的网页应用容易受到攻击吧?谢谢!

1 个回答

2

我遇到了chmod权限的问题,所以我把整个目录都设置成了除了root以外的用户都能访问,但这样安全吗?

不,这样绝对不安全。现在每个人都能访问你的数据库。

我可能应该为www访问和root访问创建一个单独的组,只允许这个root和www的组访问这个文件夹。

你需要做以下几件事,但这些通常会由你使用的系统的包管理器来处理:

  1. 创建一个用户,用来运行网页服务器。
  2. 以root身份启动网页服务器(你必须这样做,因为它会监听1024以下的端口),然后把进程切换到你在第一步创建的用户。
  3. 确保任何静态资源(比如javascript文件、css文件、图片、样式表等)对这个用户是只读的,对你自己的用户有读写权限,其他人只能读取。

你的代码应该放在一个单独的目录里,只有你自己的用户能访问,而网页服务器进程不能访问。

在任何情况下,你绝对不应该做以下事情:

  • 把任何用于你网页应用的目录的权限改成777
  • 把你的代码放在和静态文件相同的目录里。

撰写回答