java web开发 安全性 请问用java开发web应用程序时 安全性方面 主要应该考虑哪些方面?应该用怎样的方法解决各类可能的安全性问题?比如简单的,非授权登陆,非授权访问,通过不允许的地址访问等 谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 大致有以下几点1. 资源安全 说白了就是非授权的登录,而登录之后又需要对相关资源进行保护,对于没有权限的资源禁止访问,不予显示等。2. 控制权限 一般来说当客户端获取了相关资源的访问权限后,可以对其动作进行权限控制,并且这也是必要的,比如:最简单的crud操作,并非每个可以访问该资源的客户端都拥有其所有的权限。很可能是该用户仅仅能够进行r操作,而其他的需要管理员权限。3. 实体访问权限 这个权限控制的使用实际上并不是那么多的,比如说一个只需要有普通权限就能访问的资源,出现这样一个需求。只有相应部门的客户端才能访问,而其他部门的则不能访问。我一般对1会选择jaas进行,2采用aop解决,3动态代理解决。有时候也会使用spring security不过这个东西还是有复杂度的。具体的细节。就需要楼主自行研究了 一般来说,加个过滤器就能处理你说的这些问题,比如非授权登陆,非授权访问,通过不允许的地址访问;建立好资源表,对资源建立安全级别后,根据人物的角色对当前URL进行过滤控制就可以了;级别不够就跳转到错误页面。 监听器,过滤器都可以考虑,而且简单,还可以控制Session的使用 通过过滤器、监听器、拦截器去监视每个用户登录的过程、可以用log4j记录下客户端登录的整个过程可以用过滤器或者拦截器去过滤、拦截非法路径的访问~希望对lz有帮助 我目前接触过的有跨站点脚本编制、SSL安全证书验证、URL链接访问等。部分代码如下:public static String filter(String value) { if (value == null || value.length() == 0) { return value; } StringBuffer result = null; String filtered = null; for (int i = 0; i < value.length(); i++) { filtered = null; switch (value.charAt(i)) { case '<': filtered = "<"; break; case '>': filtered = ">"; break; case '&': filtered = "&"; break; case '"': filtered = """; break; case '\'': filtered = "'"; break; case '(': filtered = "("; break; case ')': filtered = ")"; break; } if (result == null) { if (filtered != null) { result = new StringBuffer(value.length() + 50); if (i > 0) { result.append(value.substring(0, i)); } result.append(filtered); } } else { if (filtered == null) { result.append(value.charAt(i)); } else { result.append(filtered); } } } return result == null ? value : result.toString(); } 急救!webpshere4+oracle9问题 SSH2 救命啊,神马问题啊!!!这么恐怖 Hibernate持久化?迷茫 tomcat 修改server.xml 不重启服务器 jmsn发送MSN的留言问题 Hibernate二级缓存使用问题 一个struts的例子,验证不成功时,转到相应页面,但成功时却不跳转 Tomcat配置问题 Tomcat服务器不能启动问题。有经验的兄弟姐妹请帮忙,up有分 请问学java应如何开始 想模仿百度做一个搜索感兴趣的帖子 这个面试题是不是太难了,咋那么多人答不上来
1. 资源安全
说白了就是非授权的登录,而登录之后又需要对相关资源进行保护,对于没有权限的资源禁止访问,不予显示等。
2. 控制权限
一般来说当客户端获取了相关资源的访问权限后,可以对其动作进行权限控制,并且这也是必要的,比如:最简单的crud操作,并非每个可以访问该资源的客户端都拥有其所有的权限。很可能是该用户仅仅能够进行r操作,而其他的需要管理员权限。
3. 实体访问权限
这个权限控制的使用实际上并不是那么多的,比如说一个只需要有普通权限就能访问的资源,出现这样一个需求。只有相应部门的客户端才能访问,而其他部门的则不能访问。我一般对1会选择jaas进行,2采用aop解决,3动态代理解决。
有时候也会使用spring security不过这个东西还是有复杂度的。
具体的细节。就需要楼主自行研究了
可以用过滤器或者拦截器去过滤、拦截非法路径的访问~
希望对lz有帮助
部分代码如下:
public static String filter(String value) { if (value == null || value.length() == 0) {
return value;
} StringBuffer result = null;
String filtered = null;
for (int i = 0; i < value.length(); i++) {
filtered = null;
switch (value.charAt(i)) {
case '<':
filtered = "<";
break;
case '>':
filtered = ">";
break;
case '&':
filtered = "&";
break;
case '"':
filtered = """;
break;
case '\'':
filtered = "'";
break;
case '(':
filtered = "(";
break;
case ')':
filtered = ")";
break;
} if (result == null) {
if (filtered != null) {
result = new StringBuffer(value.length() + 50);
if (i > 0) {
result.append(value.substring(0, i));
}
result.append(filtered);
}
} else {
if (filtered == null) {
result.append(value.charAt(i));
} else {
result.append(filtered);
}
}
} return result == null ? value : result.toString();
}