PHP安全-最小權(quán)限
我過去有一輛汽車有一個(gè)傭人鑰匙。這個(gè)鑰匙只能用來點(diǎn)火,所以它不能打開車門、控制臺、后備箱,它只能用來啟動汽車。我可以把它給泊車員(或把它留在點(diǎn)火器上),我確認(rèn)這個(gè)鑰匙不能用于其它目的。
把一個(gè)不能打開控制臺或后備箱的鑰匙給泊車員是有道理的,畢竟,你可能想在這些地方保存貴重物品。但我覺得沒有道理的是為什么它不能開車門。當(dāng)然,這是因?yàn)槲业挠^點(diǎn)是在于權(quán)限的收回。我是在想為什么泊車員被取消了開車門的權(quán)限。在編程中,這是一個(gè)很不好的觀點(diǎn)。相反地,你應(yīng)該考慮什么權(quán)限是必須的,只能給予每個(gè)人完成他本職工作所必須的盡量少的權(quán)限。
一個(gè)為什么傭人鑰匙不能打開車門的理由是這個(gè)鑰匙可以被復(fù)制,而這個(gè)復(fù)制的鑰匙在將來可能被用于偷車。這個(gè)情況聽起來不太可能發(fā)生,但這個(gè)例子說明了不必要的授權(quán)會加大你的風(fēng)險(xiǎn),即使是增加了很小權(quán)限也會如此。風(fēng)險(xiǎn)最小化是安全程序開發(fā)的主要組成部分。
你無需去考慮一項(xiàng)權(quán)限被濫用的所有方法。事實(shí)上,你要預(yù)測每一個(gè)潛在攻擊者的動作是幾乎不可能的。
相關(guān)文章:
