是空白的Security.cipherSeed好吗?

时间:2013-08-01 12:59:28

标签: security cakephp

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

我不熟悉CakePHP,开发人员指示我将Security.cipherSeed留在core.php中作为空白字符串。这可以接受吗?

我问,因为我一直在查看代码,而且我对开发人员的编码排序不太自信。

只有在有所作为的情况下,才能通过HTTPS访问webapp。

1 个答案:

答案 0 :(得分: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没有被使用,并且绝对不会被使用,那么它应该没问题,留空或用你最喜欢的诗填充它,它应该没关系,如果它<使用em> 或者您计划使用它,然后不要将该值留空,或者更好,如果可能的话,请使用Security::rijndael()