[英]what could I do to make my cURL script more secure?
好的,伙計們,我一直在思考,思考,思考,現在終於擺脫了主意...
因此,我開發了這個WordPress插件,該插件通過cURL從服務器上的SQL DB獲取客戶信息。
這就是發生的情況:
從我的網站下載插件的每個用戶都有一個唯一的ID,該ID是從Mysql(auto_increment)生成的。 此ID在下載時存儲在插件中。 然后,插件使用該ID來選擇一行,並使用cURL在服務器上的數據庫中獲取一些信息(有意義的信息)。
因此,這是它獲取信息的方式:
1.)唯一ID是$_POST
_POST'ed到目標頁面(my_curl.php)
2.)在發布的ID上運行preg_match,以幫助防止任何愚蠢的SQL注入。
3.)選擇該行並獲取信息。
4.)從數據庫中獲取的信息將獲取JSON ENCODE。
現在,任何人都可以進入插件文件,並執行以下操作:
如果他們的插件副本已分配給ID:21645875457
他們進入並將該ID更改為一個或多個:21645875458或21645875456。
然后他們運行插件,然后看到其他人的感性信息...。
任何人都可以提出一些建議,以防止這種情況。 我知道它幾乎是不可能的,但是必須有一些東西,對不對?
如果我將更多信息從插件發送到curl目標,那么最邪惡的人可能只是簡單地更改了它。
數據庫中的另一個信息是插件分配到的域。
我正在考慮將當前域( $_SERVER['HTTP_HOST']
)發布到cURL頁面,並用ID進行驗證(檢查域是否與ID在同一行)。
這將使攻擊者更難,因為他們將需要知道他們想要從中竊取信息的ID和域,但是我需要更安全的東西...
您可以生成“密碼”(換句話說,隨機字符串)並將其存儲在插件目錄中。 另外,將“密碼”保存到數據庫中。 現在,每當有人想要訪問任何敏感數據時,他不僅需要提供ID,還需要提供密碼。 很明顯,它們必須匹配。 (:
增加 ID到信息的映射(或您建議的ID和主機到客戶的映射)的一種簡便方法是不使用順序ID,而是分配更復雜的內容,例如,生成的UUID 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.