Fork me on GitHub

Security Guide

Session security

忍者会话是键/值的哈希,已签名但默认未加密(请参阅下一部分以启用加密). 这意味着只要您的秘密是安全的,第三方就不可能伪造会话.

机密作为密钥application.secret存储在conf / application.conf中.

这样,多个共享相同机密的服务器可以处理来自用户的任何请求. 这就是缩放简单的原因.

保持application.secret私有非常重要.

不要将其提交到公共存储库中,并且在安装由他人编写的应用程序时,请将密钥更改为您自己的密钥.

部署时,使用包含生产设置的外部配置以及在常规开发中不使用的特殊application.secret也是非常有用的. 您可以使用系统变量指向备用配置:

…-Dninja.external.configuration = / mydir / deployment.conf".

Encrypting sessions

设置Ninja来加密会话非常容易:您必须通过设置application.cookie.encryption = true来在配置文件( application.conf )中启用加密.

Ninja至少使用AES / 128,即使在最苛刻的情况下也应该很好. 您可以通过在JDK中安装Java密码学扩展来增强AES的强度.

Generating a new session secret

您只需在conf / application.conf文件中删除application.secret,即可在开发模式下生成一个随机的新秘密. 当您重新启动服务器时,Ninja将生成一个新的密码并将其添加到conf / application.conf中 .


by  ICOPY.SITE