背景
我正在创建一个网站,我希望获得读/写/编辑权限的模块化管理权限。我的目的是允许任意数量的访问级别类型,并使其基于文件夹结构。
例如,root管理员可以对所有网站页面进行读/写/编辑。 A组可能对路径www.example.com/section1/(包括子文件夹)中的所有文件进行读/写/编辑,B组可以读取/写入/编辑www.example.com/section2/中的所有文件,等等。
我已经考虑了两种方法来实现这一点:创建一个可以容纳的MySQL数据库:
组名称(访问组的引用名称)
读取(组可以用逗号分隔的文件夹列表)
写(组可以写入新内容的文件夹列表,用逗号分隔)
编辑(组可以更改已用逗号分隔的现有信息的文件夹列表)
我考虑的另一个选项是在某处创建一个'GroupAccess.txt'文件,并将信息手动干扰到参考文件中。
问题:每个系统的优势是什么?具体来说,将管理员访问信息放入数据库与文本文件中可以获得什么,反之亦然? (我正在寻找有关潜在速度问题,易维护性,易于编辑/更改将要存储的信息的信息)
注意:我不是在寻找'哪个更好',我想知道具体的优势,这样我就可以做出更明智的决定。
答案 0 :(得分:1)
首先想到的是数据库在文本文件上会更安全,原因很简单,因为大多数Web服务器默认提供.txt文件,因此可以通过Internet读取文本文件,这样就可以了具有受限访问权限的用户和非网站用户可以查看您网站的整个结构,从而可以让您对网站某些区域的可能攻击更加开放。
使用数据库的另一个好处是,您可以轻松使用联接来检查用户是否可以访问数据库中的某些内容,而文件需要读取文件才能获得权限和go构建SQL并从数据库中获取数据。
这些只是在阅读你的问题时突然发现的两件事,希望它有所帮助。