PHP有可能獲得請求的證書,特別是證書和CA上的網站名稱?PHP - 檢查請求的SSL證書
我想檢查一下對我的PHP文件的調用只能通過AJAX調用從我的網站進行。就像這樣:
- 用戶登錄到我的網站,然後使用HTTPS進行
- 用戶加載頁面
https:// domain/mypage.php
https:// domain/mypage.php
在getinfo.php我一個AJAX調用https:// domain/getinfo.php
隨後的互動希望檢查請求的證書詳細信息,以確保請求是從我的網站發出的,即不是來自URL上的直接命中,也不是使用抓取工具。
可能嗎?
簡答:沒有。不管你做什麼,總會有可能欺騙請求,看起來它來自Ajax。說實話,我甚至無法證實這種證書方法如何工作 - 相同的證書將用於所有請求,不管是否使用Ajax,除非您要求客戶端證書(這是一個總的PITA for你的用戶)你會看到的證書永遠是服務器端的證書,這顯然沒有告訴你什麼。考慮一下websockets,這會告訴你更多。 – DaveRandom 2012-07-18 13:00:22
*服務器證書*將確保服務器的身份。由於你的服務器已經收到請求,我敢肯定你可以確定你的服務器本身就是真的。你想在這裏保護什麼? – deceze 2012-07-18 13:44:37
我試圖確保對我的getinfo.php的調用來自我的網站,而不是來自試圖通過點擊URL來竊取我的(非常昂貴的)數據的人。所以我寧願不給人們一個他們可以訪問的URL並以JSON格式獲取數據,我想盡可能地讓它變得困難,並且至少排除他們從getinfo.php中獲取它 – BigMeat 2012-07-18 15:31:05