2013-04-06 53 views
1

我有一個clientDomain.com/show.php頁面中的jQuery腳本,顯示了使用jQuery.getJSON()從serverDomain.com/echo.php頁面加載的一些數據。我希望只有允許的域可以顯示數據,因爲我不希望未經授權的人員在未經我許可的情況下將腳本安裝到他們自己的網站中。有沒有什麼方法可以將jQuery.getJSON()的響應限制到某些域?解決方案應該防止客戶端使用iframe。總之,僅當有人直接訪問serverDomain.com/echo.php頁面或允許的客戶端域之一時才應該看到數據。預先感謝支持!如何限制一個jQuery.getJSON()只對某些域的響應?

我的請求/響應腳本的工作原理是在jQuery.getJSON() | jQuery API Documentation

第一個例子中我只能代碼客戶端jQuery腳本(將要ditribuited給允許域)和serverDomain.com/echo.php頁面(即是我的財產)。

回答

2

不這樣做。使用auth令牌,而不是定期更新。任何人都可以僞造一個HTTP引用者。

這裏有SO一個很好的答案覆蓋resful API認證:REST API Token-based Authentication

+0

我只能代碼客戶端jQuery腳本(將要ditribuited給允許域)和serverDomain.com/echo.php頁面(即是我的財產)。 – Alex 2013-04-06 22:16:39

+0

好吧,然後只是製作一個批准的域的簡單數組,如果document.domain不在數組中,請殺死腳本。很容易繞過任何知道如何和想要的人,但對於1級威懾,這很好。 – AlienWebguy 2013-04-07 00:34:45

+0

您是否認爲使用此批准的域或HTTP引用來獲得更好的解釋如下所示:http://stackoverflow.com/questions/11022275/restricting-access-if-not-coming-from-certain-referers-php? – Alex 2013-04-07 01:35:29