当前位置:首页 » 网页前端 » web项目权限设计
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

web项目权限设计

发布时间: 2022-07-19 19:38:46

① 如何设置 Web 服务器的权限

如何设置 Web 服务器的权限?如果Web服务器的权限没有设置好,那么网站就会出现漏洞并且很可能会出现被不怀好意的人黑掉的情况。我们不应该把这归咎于 IIS 的不安全。如果对站点的每个目录都配以正确的权限,出现漏洞被人黑掉的机会还是很小的(Web 应用程序本身有问题和通过其它方式入侵黑掉服务器的除外)。下面是我在配置过程中总结的一些经验,希望对大家有所帮助。

IIS Web 服务器的权限设置有两个地方,一个是 NTFS 文件系统本身的权限设置,另一个是 IIS 下网站->站点->属性->主目录(或站点下目录->属性->目录)面板上。这两个地方是密切相关的。下面以实例的方式来讲解如何设置权限。

IIS 下网站->站点->属性->主目录(或站点下目录->属性->目录)面板上有:

脚本资源访问
读取
写入
浏览
记录访问
索引资源
6 个选项。这 6 个选项中,“记录访问”和“索引资源”跟安全性关系不大,一般都设置。但是如果前面四个权限都没有设置的话,这两个权限也没有必要设置。在设置权限时,记住这个规则即可,后面的例子中不再特别说明这两个权限的设置。

另外在这 6 个选项下面的执行权限下拉列表中还有:


纯脚本
纯脚本和可执行程序
3 个选项。

而网站目录如果在 NTFS 分区(推荐用这种)的话,还需要对 NTFS 分区上的这个目录设置相应权限,许多地方都介绍设置 everyone 的权限,实际上这是不好的,其实只要设置好 Internet 来宾帐号(IUSR_xxxxxxx)或 IIS_WPG 组的帐号权限就可以了。如果是设置 ASP、PHP 程序的目录权限,那么设置 Internet 来宾帐号的权限,而对于 ASP.NET 程序,则需要设置 IIS_WPG 组的帐号权限。在后面提到 NTFS 权限设置时会明确指出,没有明确指出的都是指设置 IIS 属性面板上的权限。

例1 —— ASP、PHP、ASP.NET 程序所在目录的权限设置:
如果这些程序是要执行的,那么需要设置“读取”权限,并且设置执行权限为“纯脚本”。不要设置“写入”和“脚本资源访问”,更不要设置执行权限为“纯脚本和可执行程序”。NTFS 权限中不要给 IIS_WPG 用户组和 Internet 来宾帐号设置写和修改权限。如果有一些特殊的配置文件(而且配置文件本身也是 ASP、PHP 程序),则需要给这些特定的文件配置 NTFS 权限中的 Internet 来宾帐号(ASP.NET 程序是 IIS_WPG 组)的写权限,而不要配置 IIS 属性面板中的“写入”权限。

IIS 面板中的“写入”权限实际上是对 HTTP PUT 指令的处理,对于普通网站,一般情况下这个权限是不打开的。

IIS 面板中的“脚本资源访问”不是指可以执行脚本的权限,而是指可以访问源代码的权限,如果同时又打开“写入”权限的话,那么就非常危险了。

执行权限中“纯脚本和可执行程序”权限可以执行任意程序,包括 exe 可执行程序,如果目录同时有“写入”权限的话,那么就很容易被人上传并执行木马程序了。

对于 ASP.NET 程序的目录,许多人喜欢在文件系统中设置成 Web 共享,实际上这是没有必要的。只需要在 IIS 中保证该目录为一个应用程序即可。如果所在目录在 IIS 中不是一个应用程序目录,只需要在其属性->目录面板中应用程序设置部分点创建就可以了。Web 共享会给其更多权限,可能会造成不安全因素。

总结: 也就是说一般不要打开-主目录-(写入),(脚本资源访问) 这两项以及不要选上(纯脚本和可执行程序),选(纯脚本)就可以了.需要asp.net的应用程序的如果应用程序目录不止应用程序一个程序的可以在应用程序文件夹上(属性)-目录-点创建就可以了.不要在文件夹上选web共享.

例2 —— 上传目录的权限设置:
用户的网站上可能会设置一个或几个目录允许上传文件,上传的方式一般是通过 ASP、PHP、ASP.NET 等程序来完成。这时需要注意,一定要将上传目录的执行权限设为“无”,这样即使上传了 ASP、PHP 等脚本程序或者 exe 程序,也不会在用户浏览器里就触发执行。

同样,如果不需要用户用 PUT 指令上传,那么不要打开该上传目录的“写入”权限。而应该设置 NTFS 权限中的 Internet 来宾帐号(ASP.NET 程序的上传目录是 IIS_WPG 组)的写权限。

如果下载时,是通过程序读取文件内容然后再转发给用户的话,那么连“读取”权限也不要设置。这样可以保证用户上传的文件只能被程序中已授权的用户所下载。而不是知道文件存放目录的用户所下载。“浏览”权限也不要打开,除非你就是希望用户可以浏览你的上传目录,并可以选择自己想要下载的东西。

总结: 一般的一些asp.php等程序都有一个上传目录.比如论坛.他们继承了上面的属性可以运行脚本的.我们应该将这些目录从新设置一下属性.将(纯脚本)改成(无).

例3 —— Access 数据库所在目录的权限设置:
许多 IIS 用户常常采用将 Access 数据库改名(改为 asp 或者 aspx 后缀等)或者放在发布目录之外的方法来避免浏览者下载它们的 Access 数据库。而实际上,这是不必要的。其实只需要将 Access 所在目录(或者该文件)的“读取”、“写入”权限都去掉就可以防止被人下载或篡改了。你不必担心这样你的程序会无法读取和写入你的 Access 数据库。你的程序需要的是 NTFS 上 Internet 来宾帐号或 IIS_WPG 组帐号的权限,你只要将这些用户的权限设置为可读可写就完全可以保证你的程序能够正确运行了。

总结: Internet 来宾帐号或 IIS_WPG 组帐号的权限可读可写.那么Access所在目录(或者该文件)的“读取”、“写入”权限都去掉就可以防止被人下载或篡改了

例4 —— 其它目录的权限设置:
你的网站下可能还有纯图片目录、纯 html 模版目录、纯客户端 js 文件目录或者样式表目录等,这些目录只需要设置“读取”权限即可,执行权限设成“无”即可。其它权限一概不需要设置。 上面的几个例子已经包含了大部分情况下的权限设置,只要掌握了设置的基本原理,也就很容易地完成能其它情况下的权限设置。

② JavaWeb项目里的 关于权限控制,是怎样实现的呢

一般用了3张表
1.用户表(存储所有用户,有一个字段表示用户的所属组如,管理员是0)
2.路径表(存储你的所有页面路径)
3.权限表(存储用户和路径的关系,0对应一些路径)
查询的时候用0去权限表查出所有对应的路径

③ web前后端分离怎么做权限控制

权限的设计中比较常见的就是RBAC基于角色的访问控制,基本思想是,对系统操作的各种权限不是直接授予具体的用户,而是在用户集合与权限集合之间建立一个角色集合。每一种角色对应一组相应的权限。

④ 跪求java web项目关于权限的设计及源码 。比如有用户权限。管理员权限,不同的用户有不同的权限菜单,等

用户表里加一个role的角色,对应role的一张表,当用户登录时,判断该用户的角色,这样根据该用户所拥有的角色来处理该 用户拥有系统哪部分的使用权。虎哥,在做web项目?

⑤ linux服务器下web项目的权限问题

首先确认你web服务器是以什么用户运行的
一般apache是http用户

所以:
chown -R http:http /home/www/
将web目录的所有者改下就可以了,当然也有其他方法就不说了。

⑥ 现在我们要做一个web开发,后台的权限问题应该怎么做呢

web开发现在比较流行的权限系统是RBAC:基于角色的访问控制(Role-Based Access Control);
一个系统的权限系统,我觉得是一个应该整体考虑、设计的重要部分,不是以解决一个特定问题而切入进行的;
不过单说你的问题也可以,可以做成这样:
1.每一个需要进行权限检查的场景,被描述为:
什么模块(或功能,视具体系统为定),什么操作(功能点),如打印机模块的打印操作
对你的场景,可以描述为
(1)什么公司的打印机模块的打印操作
(2)或干脆什么公司的打印操作,因为你问题描述的是对公司数据的操作
2.设定角色
指定一个角色,可以对某公司的数据进行以下操作:
增删改查,对另一个公司可以查,具体是将一个角色与模块-操作建立关联关系
3.在角色内增加身份
比如把某人、某个组织等与角色进行绑定
最终实现的关联关系表达:
某人以什么身份(如个人、隶属于某组织),在指定场景下(某公司、某模块),可以做的操作有:增删改查

这个太复杂了

简单点嘛:
虽然对本公司和外公司的数据上全都标记上隶属的公司不太现实,但是展示不同公司的页面上总可以区分吧:
显示A公司的数据时,数据的查询总得带个参数A吧,那么就根据这个A是否与当前使用者隶属公司相同进行判断,不同时隐藏掉一些按钮呗

⑦ java web项目,文档权限是如何设计的

大哥这个不叫文档权限
这叫操作权限
一般我们是对角色进行授权
设计简单,首先必须要有一个表存储要进行权限设置的页面和页面元素
其次是有一张关联表,表明什么角色拥有什么页面的什么元素的什么权限
第三就是在页面加载的时候进行提取权限和设置权限的操作

⑧ web项目里权限是一张表还是两张表

这两个应该是多对多的关系,最好还是一张用户表,一张权限表,一张用户权限关系表

⑨ javaweb 项目的系统权限管理,怎么设计

按你说的设计可以啊,设置角色,给用户分配角色,角色控制菜单显示,最好做一个后台可以编辑角色,那样方便很多

⑩ JavaWeb项目有哪些权限配置的方案

1、说白了,Java后台开发项目,绝大部分都是用来作为一个项目的后台管理系统2、用来配置前端页面所需要的比如售票的时候票种啊、以及报表统计、权限等操作