1

我负责安装和管理由外部开发人员编写的 webapp。

我对 CakePHP 不熟悉,开发人员指示我留下Security.cipherSeed一个core.php空白字符串。这可以接受吗?

我问是因为我一直在研究代码,而且我对开发人员的编码能力没有信心。

只有在有区别的情况下,才能通过 HTTPS 访问 webapp。

4

1 回答 1

1

好吧,这个值与srand()(使用时Security::cipher更新:请注意,Cookie 组件当前Security::cipher默认用于加密/解密 cookie /update),传递一个空字符串可能会触发警告,说参数 1 应该是长的的字符串。

此外,这将导致 PHP 自动生成一个随机种子,这将使解密使用加密Security::cipher()的文本变得不可能(或者至少可以说有点复杂)。

因此,如果未修改 PHP 安装或 CakePHP 源代码,以便srand()自动使用静态种子(这将非常糟糕),或者Security::cipher从其他地方检索种子(也是一个坏主意),那么您可能应该即使您尚未使用,也不要将其留空Security::cipher。尽管实际上您无论如何都不应该使用Security::cipher它,但它已经被弃用了,但是定义一个值但尚未使用它应该不会造成伤害,不定义一个值并尝试使用它很可能会。

为了确保一切正常,请检查源是否Security::cipher被使用,如果是这样,然后围绕它的使用编写一些测试以确保一切按预期工作。还可以尝试联系开发人员,问他为什么认为应该留空,也许有一些隐藏的魔法在发生,谁知道......

简而言之,如果Security::cipher不使用,并且绝对不会使用,那么应该可以,可以留空或填上你最喜欢的诗,如果它使用或者你打算使用它应该没有关系, 然后不要将该值留空,或者如果可能的话,最好使用它Security::rijndael()

于 2013-08-01T13:32:41.850 回答