比如我的网站有一个文章模块
删除一片文章的URL为:
http://localhost:8080/web/article/80/del
问题:如何限制登陆用户通过输入URL随意删除别人的文章的
比如我可以输入
http://localhost:8080/web/article/1[size=xx-small][/size]/del
解决方案:
一. [color=red]ip过滤[/color]
每一个来访的用户都有一个ip,而你自己的ip你最清楚不过了,在访问删除url前过滤一下ip就完事了
具体怎么过滤:那得看情况
二.[color=red]用户名限制[/color]
每一个登录用户都有一个用户名(一般放在session中)吧, 在访问删除url前, 验证(过滤)一下用户名是否有管理员权限
1.如果是用struts2:可以使用其中的提供的拦截器(方法或action)
2.如果是用jsp/servlet: 实现一个过滤器(Filter)
1.增加一个filter确定用户权限;验证是否是登录用户,且具有相应的权限;
2.增加token,也就是令牌机制,放置用户直接修改后面的请求参数就可以删除相应的数据;强制一个请求只能有一次操作;
令牌机制的实现原理:
参考
http://www.examw.com/java/jichu/166375/
这个采用IP过滤很有效果
建议:
对文章的管理,应该做一个后台管理, 与前台分离开来--url不能访问
删除文章前检查下这篇文章是否属于当前登录的作者
写sql语句的时候加限制啊.比如: id=? and author=?
这样就可以限制不仅仅id匹配,作者也要匹配.
1、filter 过滤
2、用户过滤
最终还是权限的问题
考虑用spring security或者apache shiro
你删除文章之前应该需要检查一下文章是否属于该用户的吧。。。。。