我有一個網站,允許通過驗證的用戶提交和編輯數據。我也想提供一個REST API作爲收費服務的一部分。 現在的問題是,非付費用戶理論上可以使用我的網站使用的API認證,並從他的外部應用程序發送的數據,因爲它是在瀏覽器中很容易看到端點什麼,究竟是如何的數據是相同的調用被髮送到一個網站。強制外部應用使用API
我如何保護我的網站從這種用法和強制使用的API用於外部訪問的用戶?
我有一個網站,允許通過驗證的用戶提交和編輯數據。我也想提供一個REST API作爲收費服務的一部分。 現在的問題是,非付費用戶理論上可以使用我的網站使用的API認證,並從他的外部應用程序發送的數據,因爲它是在瀏覽器中很容易看到端點什麼,究竟是如何的數據是相同的調用被髮送到一個網站。強制外部應用使用API
我如何保護我的網站從這種用法和強制使用的API用於外部訪問的用戶?
其實你不能阻止人們發出請求到公共API。您可以在請求到達時驗證用戶。所以有多種方法可以解決這個問題。
我會爲每個用戶提供每個會話的令牌和驗證在後端其餘API請求。
使用的OAuth2。因此,您將爲付費用戶提供祕密身份和密鑰,然後他們會要求訪問令牌使用祕密身份和密鑰訪問API。
閱讀有關公共/私人密鑰加密https://en.wikipedia.org/wiki/Public-key_cryptography
閱讀了解OAuth https://oauth.net/2/
我用護照laravel實現了OAuth2。護照是oAuth2的實施,也可用其他語言提供。
您可以在API上驗證個別用戶。讓他們使用令牌/用戶名和密碼來訪問它。 – samiles