我有一個JavaScript函數是這樣的:我可以混淆一個PHP函數調用
function delPhoto(thisPhotoID) {
$("#php").load("delphoto.php?id=" + thisPhotoID);
}
這個PHP函數刪除從MySQL數據庫中相應的照片,但是任何人誰看的源網頁可能惡意呼叫帶有任意數字的delphoto.php腳本並從數據庫中刪除隨機照片。
有沒有一種方法可以混淆這個函數調用,以至於無法完成,或者PHP函數拒絕來自網頁外部的調用嗎?
這種類型的功能和相關的背最終的PHP代碼應該只限於已被授予執行此類操作權限的用戶。您可以重命名該函數,也許可以使用.htaccess重寫規則使'delphoto.php'頁面顯示爲'fluffyandnice.php',但惡意用戶可能仍會插入隨機數字以查看會發生什麼......最好的辦法是確保這些鏈接僅顯示給那些已被授權的用戶,並且處理刪除操作的服務器端代碼會爲經過認證的用戶進行測試。 – RamRaider
您可以通過'delphoto.php'來檢查用戶是否已登錄,然後停止壞的註冊用戶,確保照片是他們要刪除的。當然,這取決於您的系統當前的工作 – RiggsFolly
混淆不是一種認證或安全形式。只要說清楚。你永遠不應該留下一個可以公開訪問數據庫的任何行的文件。 – Devon