我有一個小工具,我需要將其發佈到客戶網站上。它基本上是一個用戶填寫的表單,我們將數據做一些計算並顯示結果。我怎樣才能做到這一點,同時保護代碼在另一個不支付此服務的域上運行?在客戶網站上顯示的小工具
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. 在網站上顯示pdf
- 5. 在網站上顯示RTSP
- 6. 在網站上顯示pdf
- 7. gmail上下文小工具未顯示
- 8. 測量網站大小的工具
- 9. 複製網站的整個小工具
- 10. 網址 - 重寫並顯示客戶動態網站
- 11. Facebook小工具不顯示
- 12. WordPress的小工具不顯示在(AdminPanel)
- 13. 小工具沒有顯示在小工具列表
- 14. 小工具未顯示在小工具列表中(Android 2.3)
- 15. 客戶端網站上的iframe小部件和API驗證
- 16. 如何防止在小屏幕上顯示我的網站?
- 17. MySQLMembershipProvider和MySQLRoleProvider在ASP.NET網站管理不顯示工具
- 18. 在個人網站上顯示博客文章
- 19. 谷歌小工具和網站api
- 20. 在我的網站上顯示文件
- 21. 在我的網站上顯示twitter updtaes
- 22. 顯示Facebook的照片在網站上
- 23. 在網站上顯示javascript的問題
- 24. 在我的網站上顯示唯一/返回的用戶數
- 25. 把json從一個網站上顯示在html網站上
- 26. 當工具提示顯示時,「實時」更新小工具的工具提示
- 27. 旅行顧問小工具在我的網站不工作
- 28. Vista的小工具 - 鼠標顯示工具提示過
- 29. C#WPF工具提示未顯示在子網格上
- 30. 如何在網站上顯示用戶的位置(國家)?
你有什麼建議,我可以閱讀了解更多關於這種技術? –