Project Description: AChecker is an online accessibility validator that provides a web service API for users to validate the given URL or content via http requests. Each user is given a web service ID that can be sent along with http requests to use the API. To avoid the abuse of AChecker web service API, rate limiting needs to be added to control the number of requests can be made at a certain period by one web service ID. Adding this feature requires:
- Implement the rate limiting;
- Add HTTP endpoints for querying rate limits, revoke or regenerate IDs etc.;
- Change to the user profile UI to allow users to revoke/delete the compromised web service IDs and regenerate new IDs.;
- Change to the AChecker Administrator's user management UI to allow administrators to revoke the compromised web service IDs.