我負責安裝和管理由外部開發人員編寫的webapp。是一張空白的Security.cipherSeed好嗎?
我對CakePHP不熟悉,開發人員指示我將Security.cipherSeed
作爲空白字符串留在core.php
中。這可以接受嗎?
我問,因爲我一直在翻閱代碼,而且我對開發人員的編碼缺乏信心。
只有這樣做才能通過HTTPS訪問web應用程序。
我負責安裝和管理由外部開發人員編寫的webapp。是一張空白的Security.cipherSeed好嗎?
我對CakePHP不熟悉,開發人員指示我將Security.cipherSeed
作爲空白字符串留在core.php
中。這可以接受嗎?
我問,因爲我一直在翻閱代碼,而且我對開發人員的編碼缺乏信心。
只有這樣做才能通過HTTPS訪問web應用程序。
那麼,這值可用於srand()
(使用Security::cipher
時,更新:注意Cookie的組件目前默認使用Security::cipher
加密/解密餅乾/更新),傳遞一個空字符串可能觸發警告,說參數1預計會很長而不是字符串。
此外,這將導致一個隨機種子由PHP自動生成,這將使解密文本使用Security::cipher()
加密不可能(或者讓我們說至少有點複雜)。因此,如果PHP安裝或CakePHP源未被修改,以致任何一個srand()
都會自動使用靜態種子(這將非常糟糕),或者Security::cipher
會從其他地方獲取種子(也是一個壞主意),那麼即使你還沒有使用Security::cipher
,你也可能不應該留下空白。儘管實際上你不應該使用Security::cipher
,但它已經被棄用了,但是定義一個值但是尚未使用它應該不會造成任何傷害,不會定義一個值並嘗試使用它。
爲了確保一切正常,請檢查源代碼是否使用Security::cipher
,如果是這樣的話,請圍繞其使用編寫一些測試以確保一切正常。也請嘗試聯繫開發人員,並問他爲什麼認爲它應該留空,也許有一些隱藏的魔術正在進行,誰知道...
簡而言之,如果Security::cipher
不使用,並且絕對不會使用,那麼它應該沒問題,把它留空或用你最喜歡的詩填寫它,這應該沒關係,如果它是使用或者你打算使用它,那麼不要把這個值留空,或者甚至更好如果可能的話,使用Security::rijndael()
代替。
它仍然在任何地方使用?他對鹽價說什麼?這聽起來像是故意不必要地削弱了安全性,但我無法確切地說。你可能應該問開發商他爲什麼認爲它應該是空白的。 – Gray
發現它(當前)在代碼庫中未使用。無論如何,我正在推動這款應用。我閱讀的代碼越多,就越容易獲得。 – wbg