我有一個小工具,我需要將其發佈到客戶網站上。它基本上是一個用戶填寫的表單,我們將數據做一些計算並顯示結果。我怎樣才能做到這一點,同時保護代碼在另一個不支付此服務的域上運行?在客戶網站上顯示的小工具
1
A
回答
2
你可以創建一種服務密鑰(API密鑰),你簽約給你的客戶。客戶需要在他的服務器上放置一個小的PHP腳本來處理你的小部件輸入。該腳本根據您的服務建立了一個認證,從而打開服務會話(會話密鑰)。
會話密鑰可以公開使用,然後用於一個小部件請求。
然後可以在此會話中處理您的服務器上正在進行的處理。如果不存在這樣的會話,您的服務器將拒絕處理。
沒有爲服務付費的網站沒有服務密鑰,所以他們無法實例化會話。服務密鑰是您的服務和客戶之間的共享祕密。
使用此方法,您還可以跟蹤請求所屬的客戶。無論如何,檢查HTTP引用是安全的,這是一個破碎的概念。
0
最簡單的解決方案是檢查請求IP或HTTP refferer - 如果它在白名單上,則顯示結果。請注意,HTTP標頭可能是僞造的,並且依賴它們不是100%安全的。
更安全的是適應跨站請求僞造解決方案 - http://en.wikipedia.org/wiki/Cross-site_request_forgery。網上有很多文章,你可以從CSRF (Cross-site request forgery) attack example and prevention in PHP
相關問題
- 1. 客戶網站管理工具
- 2. QWebview未顯示在小工具箱上
- 3. 在網站上顯示網站?
- 4. 無法獲得的Symfony 2工具欄上顯示網站
- 5. 在網站上顯示pdf
- 6. 網站顯示在Mac上
- 7. 在網站上顯示pdf
- 8. 在網站上顯示RTSP
- 9. gmail上下文小工具未顯示
- 10. 測量網站大小的工具
- 11. 網址 - 重寫並顯示客戶動態網站
- 12. 爲什麼我的網站在工具中顯示多個工具斷鏈?
- 13. 在網站上顯示Google Analytics的訪客人數
- 14. 聯繫表格不在客戶網站上工作,但在我的網站上工作?
- 15. Facebook小工具不顯示
- 16. Kivy不顯示小工具
- 17. WordPress的小工具不顯示在(AdminPanel)
- 18. 小工具沒有顯示在小工具列表
- 19. 小工具未顯示在小工具列表中(Android 2.3)
- 20. 客戶端網站上的iframe小部件和API驗證
- 21. 谷歌地圖上的客戶網站
- 22. 如何在谷歌網站上添加代碼小工具
- 23. 創建連續工具提示以向新用戶顯示網站功能
- 24. 刀的客戶名單不顯示我的工作站
- 25. 如何防止在小屏幕上顯示我的網站?
- 26. 谷歌小工具和網站api
- 27. MySQLMembershipProvider和MySQLRoleProvider在ASP.NET網站管理不顯示工具
- 28. 我的網站上的Google天氣小工具
- 29. 在個人網站上顯示博客文章
- 30. 在網站上顯示javascript的問題
你有什麼建議,我可以閱讀了解更多關於這種技術? –