我负责安装和管理外部开发人员编写的webapp。
我不熟悉CakePHP,开发人员指示我将Security.cipherSeed
留在core.php
中作为空白字符串。这可以接受吗?
我问,因为我一直在查看代码,而且我对开发人员的编码排序不太自信。
只有在有所作为的情况下,才能通过HTTPS访问webapp。
答案 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()
。