加密grails中的查询字符串参数

时间:2011-07-23 03:57:02

标签: java security grails encryption

我并不依赖于此作为主要的安全层,甚至不依赖于,但它只是另一层来模糊事物的运作方式。

我想知道是否有一些已经构建的内容可以让我加密grails中的查询字符串参数?写一些东西来做这件事很容易,但只是寻找可能已经可用的东西。

类似......

<g:link controller="pony" action="ride" params="[thing:thingInstance.id.encrypt()]" />Go</g:link>

用户看到..\pony\ride\MaybeSomeMD5EncodedStringHere而不是..\pony\ride\1

class PonyController{

    @Secured(['ROLE_AUTH_USER'])
    def ride ={
        //additional security checks handled by Spring Security Core
        def thing = Thing.get(thingInstance.id.dencrypt());
    }

}

1 个答案:

答案 0 :(得分:3)

您的用户不应该通过更改请求来造成伤害。您的应用程序应该根据权限和角色保护每个请求,而不仅仅是确保您不显示链接/ Users / delete / 1。无论如何,该控制器实际上都应该检查您的许可

无论如何,我没有任何插件可用于混淆URL,可能是因为它很容易推出自己的插件。只需编辑您的URLMappings:

http://www.grails.org/doc/latest/ref/Plug-ins/URL%20mappings.html

做一些事情,比如把它转换成Base64,这可能会让它变得模糊不清。

encoded = s.bytes.encodeBase64().toString()

请记住,这不是一种可靠的安全形式,所以如果您需要,这是您的行动计划,那么您做错了。