myClass.php
public function clearCache() {
// validate input and determine the appropriate cache folder;
...
helper::removeFolder($folder);
}
helper.php
static function removeFolder($folder) {
...
}
第一種方法執行所有輸入驗證以確保我們不會刪除錯誤的文件夾。在PHP中保護一個危險的靜態方法
我想保護從php對象注入和未經授權使用的第二種方法。
現在,我使用這個 How to get the name of the calling class (in PHP)
我與攻擊者利用這樣的方法擦拭敏感數據或整個網站的特別關注檢查調用的類名。這是過度殺傷還是有更好的方法?
任何想法?當然,我只關心遠程攻擊,如果攻擊者可以在我的服務器上放置一個文件並執行它,那麼他們可以自己擦除磁盤。
我使用的是Joomla,如果框架提供了這些功能請提及它。
某人如何將一個對象注入到PHP中,您是eval()是否對用戶輸入進行了解/反序列化或者是否提取了變量或其他東西?無論如何,所有壞主意 – simontemplar 2015-02-10 10:40:26
要建立在@simontemplar說的東西上,如果有人可以從你的代碼遠程運行一個函數,你會遇到更大的問題***。 – 2015-02-10 10:41:50
這是Joomla的擴展。這不是我所關心的代碼(因爲我已經採取了所有可能的措施來確保它的安全),但是有數以千計的擴展,我經常會看到未經驗證的輸入。這會導致嚴重的漏洞,我不希望成爲攻擊者提供更多損害的機會。 – 2015-02-10 11:12:25