Symfony2 中的 SECRET 参数是做啥用的?

Posted

技术标签:

【中文标题】Symfony2 中的 SECRET 参数是做啥用的?【英文标题】:What is the SECRET parameter in Symfony2 used for?Symfony2 中的 SECRET 参数是做什么用的? 【发布时间】:2016-04-25 12:30:45 【问题描述】:

谁能告诉我 Symfony2 中 parameters.yml 的 SECRET 参数是什么?

【问题讨论】:

没人知道。如果有人知道这将不再是秘密。 【参考方案1】:

它是框架使用的安全相关参数。来自文档:

这是一个对您的应用程序来说应该是唯一的字符串,它通常用于为与安全相关的操作添加更多的熵。其值应为随机选择的一系列字符、数字和符号,建议长度为 32 个字符左右。

Symfony2 使用这个秘密参数来生成 csrf 令牌

您可以在有关secret parameter 的文档中找到更多详细信息和示例。

【讨论】:

链接的站点是一个糟糕的密码生成器。 Symfony 建议包含字母、数字和符号,没有理由将字母限制为 [a-f]。 是的,最好使用freepasswordgenerator.com 或百万网络中的一个来生成密码,并确保检查所有可能的字符(数字、小写字母、大写字母和符号)。 我的评论有点错误,如果您使用符号请记住,例如符号% 具有参数的含义,所以更好不要使用符号如果你想确定没问题。【参考方案2】:

您只需要打开控制台(在 unix/mac/bsd 上)并运行此命令即可获取一些长度为 48 的随机数:

$ sudo apt-get update && sudo apt-get install pwgen
$ pwgen 48 1 -By

这将产生如下内容: bah7oTeixi~to.aFoh~quoh~Yee3eequomae7aib`ie#hoo7

或者你可以使用你的 dev/urandom: $ cat /dev/urandom | strings --bytes 1 | tr -d '\n\t []()"' | head --bytes 48

之后,您可以将其设置为秘密参数的值,而不是 ThisTokenIsNotSecretChangeIt

我也不建议使用http://nux.net/secret,因为长度和密码的字母(a-f0-9+)有限

【讨论】:

以上是关于Symfony2 中的 SECRET 参数是做啥用的?的主要内容,如果未能解决你的问题,请参考以下文章

Tensorflow variable_scope 中的 partitioner 参数是做啥用的?

sqlplus 中的 -s 选项是做啥用的?

predicateWithBlock: 中块的 bindings 参数是做啥用的?

namedtuple 的第一个参数是做啥用的?

applyBindings 的第二个参数是做啥用的?

base64编码是做啥用的?