我正在設計一個小型網站,它可以查詢SQL數據庫系統,而不使用任何CMS。使用global $PASSWORD
存儲SQL身份驗證參數的最安全方式似乎非常不安全(例如,像shellshock一樣的安全漏洞)。使用define("PASSWORD","password")
更安全嗎?PHP中的全局常量:使用全局變量還是定義變量更安全?爲什麼?
這是第二種方法更安全,如果一個如果我使用這些方法之一寫入
define("SOMEOBFUSCATEDANDVERYLONGCONSTANTNAME","password");
,是值得加密"password"
,並與其他方法傳遞地穴參數?任何解釋和建議歡迎!
爲什麼會'$ password'比'define()'更不安全? – Azrael 2014-10-03 08:03:09
如果黑客能夠爲密碼讀取內存,則您的問題比您的PHP運行時未加密數據庫密碼的事實更大。 – h2ooooooo 2014-10-03 08:05:21
這個問題是不合邏輯的。在全局範圍中定義的全局變量或常量具有完全相同的範圍 - 全局範圍。爲什麼您需要爲全局SQL訪問密碼變量? – Repox 2014-10-03 08:05:23