2014-09-28 72 views
1

當在創建PDO連接時發生錯誤(使用錯誤的驅動程序一樣的sqlsrv代替dblib我得到/var/log/httpd/error_log(CentOS的錯誤),與我的明文數據庫的用戶名和密碼在它:密碼泄漏

[error] [client 10.10.103.16] PHP Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in /var/www/html/index.php:1\nStack trace:\n#0 /var/www/html/index.php(1): PDO->__construct('sqlsrv:Server=O...', 'plainTextUserOMG!', 'plainTextPasswordOMG!')\n#1 {main} 

如何支付這項資料來還是記錄錯誤,但它不會泄漏到日誌文件?

+1

不要以純文本的形式存儲用戶密碼。數據安全問題並不是您記錄密碼文本,而是您可以閱讀密碼文本*。 – David 2014-09-28 13:17:29

+0

@onetrickpony密碼和用戶都在變量。 '新的PDO(「mssql:主機= xxxx; dbname = xxxx」,$變量,$變量);' – 2014-09-28 14:32:50

+0

@大衛哦是啊?那麼如何存儲密碼比? – 2014-09-28 14:33:06

回答

1

把調用try{..} catch(){...}塊手工處理異常。更多here