之前我以為PHP cURL模擬請求也會有跨域限制的。疑問在之前設(shè)計接口的時候,需要權(quán)限訪問的敏感數(shù)據(jù)(例如需要登錄后查看的個人數(shù)據(jù))。我是會做token檢測的。但是其他的普通接口可以直接獲取的,只是添加了跨域頭,防止跨域調(diào)用,但是后面發(fā)現(xiàn),通過PHP cURL是能調(diào)用成功的。后面看了eechen的回答。如下:同源策略防止跨域是瀏覽器中的安全機(jī)制.而PHP的cURL可以看做一個命令行下的瀏覽器(客戶端),不受任何限制,就像你用file_get_contents下載互聯(lián)網(wǎng)上的東西一樣隨心所欲, 來源。感覺這樣設(shè)計會不會有點(diǎn)不合理?JS Ajax有跨域限制,PHP cURL這種形式的則沒有跨域限制。為什么當(dāng)時確定跨域限制的時候,為什么不把PHP cURL形式的也作為跨域限制?那這樣的形式又應(yīng)該如何去防止跨域調(diào)用呢?解決方案之前想做網(wǎng)易云客戶端的時候,有看過網(wǎng)易云音樂的接口,是通過CSRF_TOKEN防止跨域調(diào)用的。PS:話說這種方案,貌似能夠通過爬網(wǎng)頁獲取CSRF_TOKEN,再進(jìn)行跨域調(diào)用吧?另外,還有什么方案能夠解決這個問題嗎?
PHP cURL或者類似的客戶端請求不算跨域,會不會不安全?有什么防范措施?
UYOU
2018-09-02 14:10:47