过滤器的:only符号的易忽视的作用

最近,我把网站后台登录地址变更了,后来,在日志中发现,还是有不明ip访问到了该页,甚是不解。我找到其中进入的一个页面,发现如下一个请求:

http://www.aaa.com/category/%E6%9C%AA%E5%88%86%E7%B1%BB/

 

后面的action字符经url解码,是“未分类”!我打开了category的控制器, 

 

下面是控制器中的一段代码:

before_filter :require_admin

 

上面的require_admin用来进行身份验证,如果验证失败,系统将跳转到登陆页。

 

于是,问题产生了------这个调整会暴露我们不想让用户知道的秘密地址,比如后台管理地址!

 

在不加only的情况下,用户只要猜到了controller,比如category,然后他在地址栏随便输入形如“http://www.aaa.com/category/askdjflkasdjfksd”,系统就会根据前置过滤器验证。

 

如果加了only,那么,用户猜到了category,还要去猜action,只有都猜对了,系统才会进行身份验证;猜错了,要么跑到其他的过滤器,要么跳转到404错误页面。

before_filter :require_admin, :only => [:index, :add, :edit, :del]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值