簡體   English   中英

將管理員登錄硬編碼到 php 腳本中是否安全?

[英]Is it safe to store admin login hardcoded into a php script?

我在想一些非常微不足道的事情,比如:

if ($email == 'mymail@example.com' && pass == '&2r2KdC#i%$$e2r8'){
    //do login
}

想知道這是否對可能的黑客攻擊或利用開放,但想不出任何。 因為這只是我的登錄名,所以使用整個數據庫來存儲它是沒有意義的。 我將使用數據庫來存儲用戶登錄。 我知道將權限較低的用戶安全地存儲在數據庫中並且對管理員登錄進行硬編碼聽起來很愚蠢,但它真的不那么安全嗎?

如果數據未正確清理,人們可能會在未經許可的情況下通過 sql 注入等方式從數據庫中獲取內容。 人們也有可能通過訪問您的服務器(例如您的 shell/ftp 帳戶)等方式獲取您的 php 源代碼,假設服務器足夠好並且您保留了您的憑據,這是不太可能的進入服務器足夠安全。 請理解成為 sql 注入的受害者比獲得您的 php 代碼的人更有可能。 (也有可能您不小心做錯了一些事情,例如更改了輸出這些行的文件擴展名,盡管不小心為 sql 編寫了錯誤的查詢也是如此)當然還有更多方法可能會出錯,但我在這里只是列舉了一些常見的問題。

此外,值得注意的是,您的數據庫憑據也可能在您的 php 代碼中,這意味着如果他們以某種方式可以訪問您的源代碼,他們很可能也可以訪問您的數據庫。

然而,我認為最大的問題不在於你把密碼放在哪里,而在於你如何存儲它。 密碼應該被存儲為它們是如何,相反,他們首先應該要存儲之前,他們哈希,然后當你要檢查,如果密碼是正確的,你的哈希密碼也與哈希檢查你存儲。 簡單地存儲未散列的密碼是非常危險的,因為如果有人以某種方式訪問​​它們,就會對您的用戶構成巨大的安全威脅,一些用戶可能會在多個地方使用相同的密碼,而這些地方有人可以訪問所有這些地方(這很糟糕,你不應該這樣做,但有人這樣做)。 然而,如果密碼被散列,即使有人以某種方式可以訪問所有的散列,他們仍然不會知道實際的密碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM