我第一次使用框架Yii2,我想知道在config \ db.php中以純文本方式寫入我的數據庫的密碼是否安全?或者他們是更安全的方式來訪問數據庫?yii2 config db.php安全嗎?
回答
它應該足夠安全,只要你不暴露這個文件給公共用戶。基本上(只要它不暴露給公共用戶),你可以將它存儲在服務器的任何地方,但是應用程序應該能夠快速簡單地獲得它(不爲數據庫連接提供額外的延遲)。
如果您使用的是Git,我認爲提交任何帶有密碼的文件是一個壞主意。我個人跟上一次至關重要的密碼單獨文件的Git外部的,並且加載該文件,以獲取值,像這樣......
$ini = parse_ini_file('path/passwords.ini', true);
return [
'class' => 'yii\db\Connection',
'dsn' => $config['db']['dsn'],
'username' => $config['db']['username'],
'password' => $config['db']['password'],
'charset' => 'utf8',
];
凡passwords.ini會是什麼樣子......
// My password file
[db]
dsn="mysql:host=localhost;dbname=xxx"
username="xxx"
password="xxx"
你可以將db.php留在Git中,但我覺得這樣更方便,特別是對於許多設置不影響安全性的其他配置文件。
我不知道爲什麼你創建了一個額外的文件。在您的common\config
文件夾中,您將獲得main-local.php
。您可以在那裏定義連接憑證。
默認情況下,該文件將被git忽略。
你是對的,但我也喜歡使用環境設置(Yii2 adv模板),覆蓋common/config/main-local.php。猜猜你可能會爭辯說我應該把環境/ dev/common/config/main-local.php也放到Git之外。但是,我錯過了一些我希望保留在Git中的其他設置。 Yii2並沒有內置的密碼設置和其他設置。最後,我相信它也歸結爲個人喜好。它可以工作,你只需要堅持一些。對我而言,擁有一個帶有密碼的單獨文件似乎是一種更好的做法。 – karpy47
Yii2有'main-local.php','main.php','params-local.php'和'params.php'文件分隔。本地文件遠離git,其他需要在其他文件中保存git mentaion的東西。 –
- 1. yii2 url rewrite config
- 2. 如何安裝DB.php?
- 3. PHP ::: global $ config :::是否安全?
- 4. Yii2:安全驗證條件
- 5. 線程安全(是嗎?)
- 6. JQuery安全嗎?
- 7. TempData:安全嗎?
- 8. CustomView安全嗎?
- 9. FormsAuthentication:安全嗎?
- 10. 「User.Identity.Name」安全嗎?
- 11. pramid.security.remember安全嗎?
- 12. Flex:removeEventListener安全嗎?
- 13. Yii2中的$ model-> load()是否安全?
- 14. PHP:filter_var安全性足夠安全嗎?
- 15. 網絡安全 - url參數安全嗎?
- 16. 緩存安全信息安全嗎?
- 17. java線程安全:線程安全嗎?
- 18. 安全嗎?覆蓋apache2 index.php的安全
- 19. WCF服務EntitySetRights.AllRead安全嗎?
- 20. facebook oauth安全嗎?
- 21. printf:這安全嗎?
- 22. 是java.nio.file.Files.write(...)安全嗎?
- 23. 是OrderByRaw()安全嗎?
- 24. 是NetNamedPipeBinding安全嗎?
- 25. oauth2不安全嗎?
- 26. TableAdapter/DataSet安全嗎?
- 27. DRUPAL:安全嗎?/cron.php?
- 28. 反射安全嗎?
- 29. 是PDO安全嗎?
- 30. appengine http安全嗎?
我接受了這個答案,因爲在任何情況下都是如此,但@S Rana和@ karpy47的答案也是正確的。 – MHogge