1.有一个用户在10毫秒内提交了两个请求.前端已经上了应用市场,所以改不了,只能从java下手.
请问怎么设计能将第二个请求直接打回?并且需要考虑并发情况
补充:如果需要对所有的接口都进行这种过滤,请问需要如何设计?
PHPz2017-04-18 10:57:18
PHP의 laravel 프레임워크에는 미들웨어라는 개념이 있습니다. 먼저 지정된 미들웨어로 모든 요청을 필터링할 수 있습니다.
그러나 현재 상황에서는 인메모리 데이터베이스를 사용해야 할 것으로 예상됩니다. 요청 내용을 인코딩하여 라이브러리에 삽입합니다(요청 시간 필드 포함). 요청에 응답할 때 먼저 동일한 인코딩의 요청이 있는지 확인합니다. 만약 그렇다면, 처리하기 전에 시간 차이를 비교하십시오.
너무 자주 요청하는 사용자는 블랙리스트에 추가될 수 있습니다.
물론 이를 위한 필수 조건은 요청한 콘텐츠에서 사용자를 식별할 수 있어야 한다는 것이며, 그렇지 않으면 어렵습니다.