WEB开发网
开发学院网络安全安全技术 关于web应用程序安全的思考(序) 阅读

关于web应用程序安全的思考(序)

 2008-11-26 13:36:02 来源:WEB开发网   
核心提示: 其中TextBox1后面的%E5%B0%8F%E7%94%9F就是“小生”(encodeURI函数编码的结果),修改此行数据,关于web应用程序安全的思考(序)(5),并对Content-Length作适当调整,就完全可以模仿按下”送出“按钮

其中TextBox1后面的%E5%B0%8F%E7%94%9F就是“小生”(encodeURI函数编码的结果),修改此行数据,并对Content-Length作适当调整,就完全可以模仿按下”送出“按钮的动作。

实际上,不管是直接在地址栏输入url,还是在网页上单击链接,提交窗体,Ajax请求,web service呼叫等等,客户端都需要向web server发送相关的Request。因此对于管控比较全面的安全方案,必须对每一次Request都进行验证。而且这个验证最好在所有的被请求程序执行之前就完成,就好比您的web应用程序是一个大型游乐场,而您的安全管控就是这个游乐场唯一入口的检票处,凡进入游乐场的人员,都是买了票的,至于游乐场里面一些还要买票的项目,那就不属于入口检票处的责任了。

可以对比一下手上的系统,看是否每次Request都有进行管控?对没有管控到的Request会不会发生问题?安全隐患的机率有多大?值不值得再加一次管控?

您的系统有多安全?

权限本质探讨

所谓安全管控,其实就是权限判断,即对用户能否访问某一权限对象进行判断,并且在无权访问时的相应处理。

权限,实际上就是使用者与权限对象的一种多对多的关系。

如一个权限厂别的数据如下:

UserID    FactID
-------------------------
1      1
1      2
2      3

表示UserID为1的用户拥有FactID为1和2的权限,UserID为2的用户拥有厂别ID为3的权限。

权限的本质在于对权限的使用方式进行抽象

以下为常见的权限接口,主要包括判断权限和获取权限列表:

/// <summary>
/// 权限接口
/// </summary>
interface IRightProvider
{
/// <summary>
/// 判断权限
/// </summary>
/// <param name="userID">用户ID</param>
/// <param name="objectID">权限对象ID</param>
/// <returns>true:有权限 false无权限</returns>
bool HasRight(string userID, string objectID);
/// <summary>
/// 获取权限列表
/// </summary>
/// <param name="userID">用户ID</param>
/// <returns>objectID列表</returns>
List<string> GetRights(string userID);
}

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:关于 web 应用程序

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接