我有這樣一個頁面。用戶在表單中寫入URL並提交。一旦URL被提交,我用CURL連接那個頁面,搜索一個字符串。如果找到該字符串,它會將URL添加到我們的數據庫中。如果不是,則會給用戶一個錯誤。PHP:使用CURL時的安全性?
我使用htmlspecialchars()也是一個正則表達式來清理URL,以允許A-Z,1-9,:/ - 。符號。我也用htmlspecialchars()來清理從其他網站檢索的內容。
我的問題是,他們可以輸入一個URL像; www.evilwebsite.com/shell.exe或shell.txt
PHP會運行它,還是隻是尋找HTML輸出?它是否安全?如果不是,我該怎麼辦?
謝謝。
Ps。 allow_url_fopen被禁用。這就是爲什麼我使用捲曲。
實際上,我對檢索到的內容所做的唯一工作就是進行基本的正則表達式掃描。例如,如果檢索到的內容在任何地方都包含「Hello」文本,則會將該URL插入到數據庫中。如果不是,則會出現用戶錯誤,如「在該頁面中找不到Hello text」。在掃描「Hello」文本時,我應該採取哪些步驟? – Aristona 2012-02-28 03:23:12
@AnılÜnal:不,這非常安全。但是你仍然應該放棄這種不必要的消毒,它可能會破壞某些URL並導致拒絕服務。 – 2012-02-28 03:24:59
htmlspecialchars()並不能拯救你從eval的眼睛:-)我認爲他的觀點是爲了防止XSS。 – 2013-02-11 13:50:02