2011-07-23 10 views
3

私はこれをプライマリセキュリティ層、あるいは私だけでも快適になるものに依存しませんしかし、それは物事の仕組みを難読化するもう一つの層に過ぎません。grailsのクエリ文字列paramsを暗号化します

すでにgrailsのクエリ文字列paramsを暗号化できるようなものがあるかどうか疑問に思っていましたか?これを行うために何かを書くのは簡単ですが、既に利用可能なものを探しているだけです。以下のような...

<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()); 
    } 

} 
+3

相手を暗号化しようとしているのですか?ユーザーを詮索している人ですか? (もしそうなら、私はちょうどhttpsを使用して、GETパラメータは暗号化されています)あなたはパラメータを見ているユーザが気になりますか?それを難読化しようとしていますか?ユーザーがキーを「DingDong ...」と知っていることは、それが「1」であることだけを知っているのとどのような違いがありますか? –

+0

ちょっと高めのクエリ文字列を難読化しようとしています。 「DingDong」は、可能なmd5暗号化文字列の単なる例でした。 –

+0

質問が更新されました... –

答えて

3

ユーザーがなされた要求を変更することで害を与えることはできないはず見

何か。アプリケーションは、/ Users/delete/1というリンクが表示されていないことを確認するだけでなく、アクセス許可とロールに基づいてすべての要求を確実に保護する必要があります。そのコントローラーはが実際にあなたの許可を確認する必要がありますに関係なく。

とにかく、私が知っているプラ​​グインはありません。おそらく、自分のロールするのが簡単かもしれないからです。ちょうどあなたのURLMappingsを編集:

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

、おそらく十分にそれを難読化することを、Base64のに変換のような何かをします。

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

これは、セキュリティの固体の形態ではないので、あなたがそれを必要とし、これは行動のあなたの計画であれば、あなたは間違ったことをやって、覚えておいてください。

;)

+0

ありがとうございました。私は自分の意向をより良く伝える質問を更新しました。 –

+0

@Nate私は同じシナリオを持っています。答えをもっと明確にしてください。 –

+0

マッピングファイルを編集して、ハッシュ(暗号化/説明)メカニズムを追加する方法 –

関連する問題